人工智能大模型计算机视觉NLP模型评测【免费下载链接】modelsA collection of pre-trained, state-of-the-art models in the ONNX format项目地址https://gitcode.com/gh_mirrors/model/models点击查看免费下载本篇技术指南以 validated/vision/classification/inception_and_googlenet/inception_v1/README.md 为主体围绕该 ONNX 模型仓库中 Inception v1GoogLeNet 复现的 8 个 Opset 变体与 3 种量化形态fp32 / int8 / QDQ讲解模型下载与校验、输入输出规范、完整预处理/后处理流程、基于 ONNX Runtime 的推理实战以及使用 Intel® Neural Compressor 复现 INT8 量化的完整命令。读完本文你将能够在本地使用该仓库中的 Inception v1 ONNX 模型完成 ImageNet 1000 类图像分类推理并复现其精度与性能评测。模型概览与下载矩阵Inception v1 是 GoogLeNet 的复现模型Caffe2 Inception v1 转换而来在本仓库中以 ONNX 格式提供多个 Opset 版本同时提供含随机测试数据的压缩包便于开箱验证。完整模型文件位于 model/ 目录下以下是原文档中的完整下载矩阵链接已转换为仓库根目录相对路径模型ONNX 模型文件含示例测试数据ONNX 版本Opset 版本Top-1 准确率 (%)Inception-128 MB29 MB1.13—Inception-128 MB29 MB1.1.26—Inception-128 MB29 MB1.27—Inception-128 MB29 MB1.38—Inception-128 MB29 MB1.49—Inception-127 MB25 MB1.91267.23Inception-1-int810 MB9 MB1.91267.24Inception-1-qdq7 MB5 MB1.121267.21对比结论原文档原文语义与 fp32 版 Inception-1 相比int8 版 Inception-1 的 Top-1 准确率下降比仅为 -0.01%而性能提升为 1.26x。注意性能表现取决于测试硬件。原文档中的性能数据采集环境为Intel® Xeon® Platinum 8280 处理器每个实例 1 插槽 4 核CentOS Linux 8.3数据 batch size 为 1。文件精确大小与完整性校验仓库根目录的 ONNX_HUB_MANIFEST.json 为每个模型记录了精确字节数与 SHA-256 校验值可用于下载后完整性校验。以 Opset 12 的三个文件为例L2935-L3075inception-v1-12.onnx28,021,958 字节SHA-256 为814b31a6316873bd03d2d808415ce1f40a7bf48ad88eab5ecc3cdc8dc6cf38ec随附数据包inception-v1-12.tar.gz的 SHA-256 为c4198ed3415d59dacab2f6fa90c81f1a3aa9f3623b66e2d9653f16d06a5cc68cinception-v1-12-int8.onnx10,191,535 字节SHA-256 为7d25f0bfa7a92e9a67d8049facd4454911ca4388a303fc61ee14664b1010c717inception-v1-12-qdq.onnx7,135,424 字节SHA-256 为c6a8e07c53ea417a0001ebba885a3a623f1c3c51fac105485aca638e2f3de25d。模型来源与训练数据描述Inception v1 是 GoogLeNet 的复现Inception v1 is a reproduction of GoogLeNet。数据集ILSVRC2012ImageNet 大规模视觉识别挑战赛 2012包含 1000 个类别与模型输出维度[1, 1000]对应。转换链路Caffe2 Inception v1 → ONNX Inception v1 → Quantized ONNX Inception v1。即 fp32 模型由 Caffe2 转换而来量化模型由 ONNX fp32 模型继续量化得到。模型输入与输出规范原文档对输入输出给出了明确的张量定义这也是使用任何推理框架时都必须遵守的接口契约输入data_0: float[1, 3, 224, 224]名称data_0类型 float32形状 NCHWbatch1、通道数3RGB、高度224、宽度224。输出prob_1: float[1, 1000]名称prob_1类型 float32形状[1, 1000]即 ImageNet 1000 类的分类置信度分数。该接口定义与 ONNX_HUB_MANIFEST.json 中io_ports字段完全一致inputs 为data_0outputs 为prob_1。此外manifest 还记录了 fp32 与部分版本模型的extra_ports特征输出pool5/7x7_s1_2形状[1, 1024, 1, 1]L3059-L3071这是网络末端全局平均池化前的特征图可满足特征提取类下游任务如迁移学习、特征检索的需求——这一点在原文档中未展开属于本仓库的补充信息。样本测试数据模型包内附带随机生成的样本测试数据用于验证推理链路是否打通test_data_0.npz、test_data_1.npz、test_data_2.npztest_data_set_0、test_data_set_1、test_data_set_2预处理与后处理步骤原文档为 Pre-processing / Post-processing 预留了章节标题但内容为空。本仓库 validated/vision/classification/onnxrt_inference.ipynb 提供了可供该系列分类模型直接套用的标准实现可作为 Inception v1 的官方参考流程预处理preprocess处理管线为缩放到 0~1 → resize 到 256×256 → 取中心 224×224 裁剪 → 按 ImageNet 均值/方差归一化 → 转置为 NCHW → 转 float32 → 增加 batch 维度def preprocess(img): img img / 255. img cv2.resize(img, (256, 256)) h, w img.shape[0], img.shape[1] y0 (h - 224) // 2 x0 (w - 224) // 2 img img[y0: y0 224, x0: x0 224, :] img (img - [0.485, 0.456, 0.406]) / [0.229, 0.224, 0.225] img np.transpose(img, axes[2, 0, 1]) img img.astype(np.float32) img np.expand_dims(img, axis0) return img后处理postprocess输出prob_1为原始分数向量通过np.squeeze去掉 batch 维后按分数降序argsort取 top-1 类别索引并结合 ImageNet 标签文件如synset.txt每行一个类别名输出类别与概率preds np.squeeze(preds) a np.argsort(preds)[::-1] print(class%s ; probability%f % (labels[a[0]], preds[a[0]]))基于 ONNX Runtime 的推理实战以 Opset 12 的 fp32 模型为例完整的推理流程如下参考 onnxrt_inference.ipynb 的依赖说明需要先pip install onnxruntimeimport numpy as np import cv2 import onnxruntime as ort from PIL import Image # 1. 加载模型 session ort.InferenceSession( validated/vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-12.onnx ) # 2. 读取图片并转 RGB 数组 def get_image(path): with Image.open(path) as img: return np.array(img.convert(RGB)) # 3. 预处理见上文 preprocess img preprocess(get_image(kitten.jpg)) # 4. 推理以模型声明的输入名 data_0 喂入 ort_inputs {session.get_inputs()[0].name: img} preds session.run(None, ort_inputs)[0] # 5. 后处理取 top-1 preds np.squeeze(preds) a np.argsort(preds)[::-1] print(class%s ; probability%f % (labels[a[0]], preds[a[0]]))实现要点session.get_inputs()[0].name会返回data_0因此不必硬编码输入名可直接从会话对象动态获取保证与模型接口契约一致若希望使用 GPU可按 onnxruntime 官方方式显式指定执行提供方例如ort.InferenceSession(model_path, providers[CUDAExecutionProvider])若使用 int8 / qdq 量化模型接口输入名、形状、输出名与 fp32 版本保持一致可直接替换模型路径运行。量化模型INT8 与 QDQ 两种形态原文档说明Inception-1-int8 与 Inception-1-qdq 均由 fp32 Inception-1 模型量化得到量化工具为 Intel® Neural Compressor后端为 onnxruntime。从 ONNX 量化的通用机制看两者差异在于量化表示方式int8 形态算子本身被替换为 INT8 量化算子权重以 int8 存储模型体积最小本仓库中约 10 MBQDQ 形态在计算图中插入 QuantizeLinear / DequantizeLinear 节点保持算子为浮点实现、由运行时进行量化/反量化调度更便于不同推理引擎的兼容优化本仓库中约 7 MB。量化带来的收益在精度/体积数据上有直观体现模型Top-1 准确率 (%)与 fp32 相比Inception-1fp32, opset 1267.23基准Inception-1-int867.24准确率下降 -0.01%性能提升 1.26xInception-1-qdq67.21准确率基本持平量化后准确率几乎无损int8 甚至略高 0.01 个百分点属于评测噪声范围而推理性能提升 1.26 倍同时模型体积从约 28 MB 压缩至 10 MB / 7 MB非常适合对延迟与存储敏感的部署场景。量化复现环境与命令若希望在自己的模型上复现上述量化流程原文档给出了完整的环境要求与操作步骤。环境依赖onnx: 1.9.0onnxruntime: 1.8.0准备模型原文档通过wget从外部下载 fp32 模型。在本仓库中该文件已就位可直接使用仓库相对路径无需网络下载# 仓库内路径模型已包含在本仓库中 validated/vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-12.onnx # 如需单独取出可解压随附压缩包 # tar -xzf validated/vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-12.tar.gz模型量化运行 Intel® Neural Compressor 的run_tuning.sh调优脚本注意在配置文件中指定正确的数据集路径bash run_tuning.sh --input_modelpath/to/model \ # 模型路径格式为 *.onnx --configinception_v1.yaml \ --data_path/path/to/imagenet \ --label_path/path/to/imagenet/label \ --output_modelpath/to/save参数说明参数含义取值示例--input_model待量化的 fp32 ONNX 模型路径上述inception-v1-12.onnx的本地路径--config量化配置文件YAML在其中指定数据集路径等量化参数inception_v1.yaml--data_pathImageNet 数据集路径/path/to/imagenet--label_pathImageNet 标签文件路径/path/to/imagenet/label--output_model量化后模型的保存路径/path/to/save该流程属于典型的后训练量化PTQ以校准数据集统计激活值分布计算量化 scale/zero-point最终产出 int8 或 QDQ 两种格式的量化模型对应仓库中inception-v1-12-int8.onnx与inception-v1-12-qdq.onnx两个产物。在仓库中的定位与进一步阅读模型文件目录validated/vision/classification/inception_and_googlenet/inception_v1/model/包含 Opset 3/6/7/8/9/12 的 fp32 与 int8/qdq 共 16 个文件同目录姊妹模型本仓库还收录了 googlenet 与 inception_v2 等同一系列模型便于横向对比不同版本结构通用推理示例validated/vision/classification/onnxrt_inference.ipynb涵盖本文所用的读取、预处理、推理、后处理全流程代码模型元数据SHA、体积、IO 端口、特征输出ONNX_HUB_MANIFEST.json。参考与许可原文档引用的核心论文为《Going deeper with convolutions》GoogLeNet 原始论文量化工具为 Intel® Neural Compressor本模型及其文档遵循 MIT 许可见 README.md 末尾及仓库根目录 LICENSE。赞分享人工智能大模型计算机视觉NLP模型评测【免费下载链接】modelsA collection of pre-trained, state-of-the-art models in the ONNX format项目地址https://gitcode.com/gh_mirrors/model/models点击查看免费下载相关推荐GoogLeNetInception v1ONNX 模型全解析从模型下载、图像预处理到 int8/qdq 量化推理实战GoogLeNetInception v1ONNX 模型全解析从模型下载、图像预处理到 int8/qdq 量化推理实战 本篇技术指南以 ONNX Mode人工智能大模型计算机视觉NLP模型评测ONNX 模型仓库实战指南EfficientNet-Lite4 图像分类模型的推理、预处理与 INT8 量化ONNX 模型仓库实战指南EfficientNet Lite4 图像分类模型的推理、预处理与 INT8 量化 本篇技术指南以 ONNX 模型仓库中 Effic人工智能大模型计算机视觉NLP模型评测CNTK GoogLeNet 系列图像分类模型实战BN-Inception、Inception V3 与 Inception-ResNet-V1 的训练与评估CNTK GoogLeNet 系列图像分类模型实战BN Inception、Inception V3 与 Inception ResNet V1 的训练与评估深度学习机器学习人工智能上一篇hyperframes 组件解析particle-text-dissolve 确定性粒子文字聚合与消散效果实战指南下一篇GoFoundGo语言打造的毫秒级全文检索引擎让数据查询快如闪电创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考