利用gradio设计一个web运用实现图片主体物的识别。1用户可以通过网页提交一张图片。2web应用将输出这张图片中主体物的名称中英文都可以。3使用预训练的模型VGG19。
以下是使用Gradio设计的一个基于VGG19模型的图片主体物识别的Web应用的示例代码:
import gradio as gr
import torch
from torchvision import models, transforms
# 加载VGG19模型并设置为评估模式
model = models.vgg19(pretrained=True)
model.eval()
# 图像预处理
preprocess = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# 标签名称
LABELS_URL = "https://raw.githubusercontent.com/anishathalye/imagenet-simple-labels/master/imagenet-simple-labels.json"
labels = torch.hub.load_state_dict_from_url(LABELS_URL)
# 定义预测函数
def predict_image(image):
# 图像预处理
image = preprocess(image)
# 添加批次维度
image = image.unsqueeze(0)
# 使用VGG19模型进行预测
output = model(image)
_, predicted_idx = torch.max(output, 1)
# 获取预测结果的标签名称
predicted_label = labels[predicted_idx.item()]
return predicted_label
# 创建Gradio接口
inputs = gr.inputs.Image()
outputs = gr.outputs.Textbox()
interface = gr.Interface(fn=predict_image, inputs=inputs, outputs=outputs, title='图片主体物识别')
interface.launch()
运行该代码后,将会在本地启动一个Web应用。用户可以通过该应用提交一张图片,然后应用将会输出这张图片中主体物的名称
原文地址: https://www.cveoy.top/t/topic/hKLL 著作权归作者所有。请勿转载和采集!