返回模型
说明文档
ONNX 量化模型:crop_leaf_diseases_vit
本仓库包含了一个 ONNX 量化版本的预训练 ViT 模型,用于农作物叶片病害分类,原始模型来自 wambugu71/crop_leaf_diseases_vit。
原始模型被转换为 ONNX 格式,然后量化为 INT8,以提高效率并减小模型大小,使其适合部署在资源受限的环境中,例如移动设备。
模型详情
- 原始模型:
wambugu71/crop_leaf_diseases_vit - 格式: ONNX(量化为 INT8)
- 任务: 图像分类
- 类别:(如果原始模型卡或文档中提供了类别列表,请在此列出;否则说明类别来自原始模型)
使用方法
此模型可以使用 ONNX Runtime 加载并进行推理。
import onnxruntime as ort
import numpy as np
from PIL import Image
from transformers import AutoFeatureExtractor # 假设预处理需要使用 feature_extractor
# 加载量化后的 ONNX 模型
onnx_model_path = "crop_leaf_diseases_vit.quant.onnx" # 或正确的量化模型文件名
session = ort.InferenceSession(onnx_model_path)
# 获取输入和输出名称
input_name = session.get_inputs()[0].name
output_name = session.get_outputs()[0].name
# 推理示例(假设你有一张图像和一个特征提取器)
# 替换为你实际的图像加载和预处理代码
image_path = "path/to/your/image.jpg"
image = Image.open(image_path).convert("RGB")
# 加载转换时使用的特征提取器
# feature_extractor = AutoFeatureExtractor.from_pretrained("wambugu71/crop_leaf_diseases_vit")
# inputs = feature_extractor(images=image, return_tensors="np")
# pixel_values = inputs["pixel_values"]
# 如果不使用特征提取器,你可能需要根据原始模型的要求手动进行预处理
#(例如:调整大小、归一化)
# 例如,如果模型期望 3x224x224 float32 输入:
# resized_image = image.resize((224, 224))
# input_data = np.array(resized_image, dtype=np.float32).transpose(2, 0, 1) # HWC 转换为 CHW
# input_data = np.expand_dims(input_data, axis=0) # 添加批次维度
# pixel_values = input_data
# 运行推理
outputs = session.run([output_name], {input_name: pixel_values})
logits = outputs[0]
# 后处理(分类示例)
predicted_class_idx = np.argmax(logits, axis=1)[0]
print("预测类别索引:", predicted_class_idx)
# 然后你可以使用原始模型的标签映射(如果可用)
# 将 predicted_class_idx 映射到实际的类别标签
量化详情
此模型使用 ONNX Runtime 的动态量化进行量化。
文件
crop_leaf_diseases_vit.onnx:原始 ONNX 模型(量化前)。crop_leaf_diseases_vit.quant.onnx:量化后的 ONNX 模型(INT8),请查看 Colab 链接。
wambugu71/crop_leaf_diseases_vit_onnx
作者 wambugu71
image-classification
↓ 0
♥ 1
创建时间: 2025-10-15 09:39:26+00:00
更新时间: 2025-10-15 09:48:42+00:00
在 Hugging Face 上查看文件 (3)
.gitattributes
README.md
crop_leaf_diseases_vit.onnx
ONNX