1 Star 0 Fork 248

zcy/OPTIMAL_KNN_MNIST_QUESTION_1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
optimal_knn_webapp.py 1.51 KB
一键复制 编辑 原始数据 按行查看 历史
Chen-yang zhang 提交于 2024-09-29 22:26 . added a file
import gradio as gr # 用于构建 Web 应用
import pickle # 用于加载模型
import cv2
from pinecone import Pinecone, ServerlessSpec
import numpy as np # 用于数值计算
from collections import Counter # 用于计数
import logging # 用于记录日志
# 设置日志配置
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 初始化 Pinecone
pinecone = Pinecone(api_key="5f01d48c-9244-4f19-b1a6-1008b8728b56")
index_name = "mnist-index" # 使用与训练相同的索引名称
index = pinecone.Index(index_name)
# 定义预测函数
def predict(image):
if image is None: # 如果图像为空,返回 None
return None
# 转换图像为灰度
image = cv2.cvtColor(image["composite"], cv2.COLOR_RGBA2GRAY)
# 缩放图像为 8x8 大小
image = cv2.resize(image, (8, 8), interpolation=cv2.INTER_AREA)
image = image.ravel().tolist() # 转换为列表格式,适合 Pinecone
# 使用 Pinecone 进行预测
results = index.query(vector=image, top_k=11, include_metadata=True) # 查询
if results['matches']:
labels = [match['metadata']['label'] for match in results['matches']]
final_prediction = Counter(labels).most_common(1)[0][0]
return str(final_prediction) # 返回预测结果
else:
return "没有找到匹配项" # 如果没有匹配项,返回提示
# 创建 Gradio 接口
interface = gr.Interface(fn=predict, inputs=gr.ImageEditor(), outputs="label")
# 启动 Web 应用
interface.launch()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chenyang_zzhang/optimal_knn_mnist_question_1.git
[email protected]:chenyang_zzhang/optimal_knn_mnist_question_1.git
chenyang_zzhang
optimal_knn_mnist_question_1
OPTIMAL_KNN_MNIST_QUESTION_1
main

搜索帮助