File size: 1,212 Bytes
51f5e10
3a35a1a
51f5e10
3a35a1a
 
51f5e10
3a35a1a
 
51f5e10
3a35a1a
51f5e10
3a35a1a
51f5e10
3a35a1a
 
51f5e10
3a35a1a
51f5e10
3a35a1a
51f5e10
 
 
 
 
 
3a35a1a
 
51f5e10
3a35a1a
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 导入 Gradio 库并命名为 gr
import gradio as gr
# 从 transformers 库中导入 pipeline 函数
from transformers import pipeline

# 创建一个图像分类的管道,使用 "julien-c/hotdog-not-hotdog" 模型
pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")

# 定义预测函数,接受输入图像
def predict(input_img):
    # 使用管道对输入图像进行预测
    predictions = pipeline(input_img)
    # 返回处理后的图像和预测结果的标签及分数
    return input_img, {p["label"]: p["score"] for p in predictions} 

# 创建 Gradio 界面
gradio_app = gr.Interface(
    # 指定预测函数
    predict,
    # 定义输入组件为图像,允许上传或使用摄像头,输出类型为 PIL 图像
    inputs=gr.Image(label="选择热狗候选图片", sources=['upload', 'webcam'], type="pil"),
    # 定义输出组件为处理后的图像和标签,显示前两个结果
    outputs=[gr.Image(label="处理后的图像"), gr.Label(label="结果", num_top_classes=2)],
    # 设置界面标题
    title="是热狗吗?",
)

# 如果当前模块是主模块,则启动 Gradio 应用
if __name__ == "__main__":
    gradio_app.launch()