代码拉取完成,页面将自动刷新
同步操作将从 mynameisi/OPTIMAL_KNN_MNIST_QUESTION 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import numpy as np
import joblib
import gradio as gr
from PIL import Image
import os
from pinecone import Pinecone
# 创建 Pinecone 实例
pc = Pinecone(api_key="e97e2b32-22d1-4eb0-bbd3-02d95c2484ce")
# 连接到已创建的索引
index_name = "mnist-index"
index = pc.Index(index_name)
# 加载保存的 KNN 模型
model = joblib.load('best_knn_model.pkl')
# 预处理图像
def preprocess_image(image):
image = Image.fromarray(image)
image = image.convert("L") # 转换为灰度图
image = image.resize((8, 8)) # 调整大小为 8x8
image = np.array(image).flatten() # 扁平化
image = image / 16.0 # 归一化
return image
# 定义使用 Pinecone 的预测函数
def predict_digit(image):
# 预处理输入图像
image = preprocess_image(image)
vector = image.flatten().tolist() # 将图像扁平化为列表
# 使用 Pinecone 获取预测结果
response = index.query(vector=vector, top_k=1) # 查询 Pinecone 获取最近邻
prediction = response['matches'][0]['id'] # 获取预测的数字 ID
return int(prediction)
iface = gr.Interface(fn=predict_digit,
inputs=gr.Sketchpad(shape=(28, 28), label="在此处手写数字"),
outputs='label')
# 启动 Gradio 接口
iface.launch(share=True)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。