real-jiakai's picture
Update app.py
51f5e10 verified
# 导入 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()