代码拉取完成,页面将自动刷新
同步操作将从 mynameisi/OPTIMAL_KNN_MNIST_QUESTION 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import os
import joblib
import gradio as gr
import numpy as np
from PIL import Image
# 指定模型文件的路径
model_filename = r'D:/下载/optimal_knn_mnist_question/best_knn_model.pkl'
# 检查模型文件是否存在
if not os.path.isfile(model_filename):
print(f"Error: {model_filename} not found.")
# 如果模型文件不存在,退出程序
exit()
else:
# 加载模型
best_knn_model = joblib.load(model_filename)
# 定义预测函数,这个函数将用于Gradio接口进行预测
def predict_digit(drawing):
if not drawing:
return "Please draw a digit."
# 将输入的图像转换为模型需要的格式
image_array = np.array(drawing, dtype=np.float32) # 直接使用drawing
image_array = image_array.reshape(28, 28) # 调整数组形状
image_array = (image_array > 0).astype(int) # 将图像转换为二值图像
prediction = best_knn_model.predict(image_array.reshape(1, -1))
return prediction[0]
# 创建Gradio接口,这个接口将用于用户输入和显示预测结果
iface = gr.Interface(
fn=predict_digit,
inputs=gr.Sketchpad(label="Draw a Digit", type="numpy"),
outputs="label",
title="Digit Prediction with KNN",
description="Draw a digit in the box below to get a prediction."
)
# 启动Gradio接口,用户可以通过这个接口进行交互
iface.launch()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。