代码拉取完成,页面将自动刷新
同步操作将从 mynameisi/faiss_dog_cat_question 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import gradio as gr
import cv2
import numpy as np
from PIL import Image
import pickle
# 加载模型
with open('best_model.pkl', 'rb') as file: # 替换为您的模型文件路径
model = pickle.load(file)
# 预处理图像
def preprocess_image(image):
# 将 PIL 图像对象转换为 NumPy 数组
img = np.array(image)
# 将 RGB 转换为灰度图像
img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
# 调整图片大小为 32x32 像素
img = cv2.resize(img, (32, 32))
# 展平图像为 1 维数组
img = img.flatten()
return img
# 预测图像
def predict_image(image):
processed_img = preprocess_image(image)
# 根据模型实际使用的方法进行调整
prediction = model.predict([processed_img]) # 注意这里使用列表包裹数组
# 假设 0 代表猫,1 代表狗
return '猫' if prediction[0] == 0 else '狗'
# 创建 Gradio 界面
iface = gr.Interface(
fn=predict_image,
inputs=gr.components.Image(type="pil"), # 定义输入类型为图像
outputs='text',
title="猫狗图像分类器",
description="上传一张图像来预测它是猫还是狗。"
)
# 启动界面
iface.launch()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。