news 2026/9/24 16:50:08

ONNX Model Zoo 中的 ZFNet-512 图像分类模型:模型文件、输入输出约定与 INT8 量化实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ONNX Model Zoo 中的 ZFNet-512 图像分类模型:模型文件、输入输出约定与 INT8 量化实战
  • 人工智能
  • 大模型
  • 计算机视觉
  • NLP
  • 模型评测

【免费下载链接】models

A collection of pre-trained, state-of-the-art models in the ONNX format

项目地址:https://gitcode.com/gh_mirrors/model/models
点击查看免费下载

本篇技术指南以 validated/vision/classification/zfnet-512/README.md 为骨架,系统讲解 ONNX Model Zoo 中 ZFNet-512 分类模型的模型形态、多种 Opset 版本差异、输入输出张量约定、精度与量化数据,并结合仓库源码给出可复现的预处理/后处理与量化命令。读完本文,你将掌握 ZFNet-512 ONNX 模型的选型、下载、验证与 INT8 量化的完整操作路径。

一、ZFNet-512 模型是什么

ZFNet-512 是一个用于图像分类的深度卷积网络,源自 Zeiler 与 Fergus 的经典论文《Visualizing and Understanding Convolutional Networks》(arXiv:1311.2901)。该网络以 AlexNet 结构为基础,通过可视化分析卷积特征来改进网络设计,其第 4 层拥有 512 个特征图(feature map),而论文原始版本中该层为 1024 个——这正是模型名中 "512" 的由来。

在 README.md 的已验证模型列表中,ZFNet-512 被归类于 Image Classification 类别,其训练数据集为 ILSVRC2013(ImageNet 大规模视觉识别挑战赛 2013),输出覆盖 1000 个物体类别(如键盘、鼠标、铅笔及各类动物等)。本文所述模型的转换路径为Caffe2 ZFNet-512 → ONNX ZFNet-512,属于官方 ONNX Model Zoo 中经过准确性验证的存量模型。

二、模型文件与版本矩阵

在仓库中,ZFNet-512 的所有模型文件与随附测试数据位于validated/vision/classification/zfnet-512/model/目录下,同时 ONNX_HUB_MANIFEST.json 中登记了每个文件的 SHA 校验值与字节大小,可用于下载后校验完整性。

模型ONNX 版本Opset 版本Top-1 准确率 (%)Top-5 准确率 (%)
ZFNet-512(fp32,Opset 3)1.13
ZFNet-512(fp32,Opset 6)1.1.26
ZFNet-512(fp32,Opset 7)1.27
ZFNet-512(fp32,Opset 8)1.38
ZFNet-512(fp32,Opset 9)1.49
ZFNet-512(fp32,Opset 12)1.91255.9779.41
ZFNet-512-int8(Opset 12)1.91255.8479.33
ZFNet-512-qdq(Opset 12)1.91255.8379.42

对应仓库文件路径如下(均位于 model 目录 下):

  • zfnet512-3.onnx
  • zfnet512-6.onnx
  • zfnet512-7.onnx
  • zfnet512-8.onnx
  • zfnet512-9.onnx
  • zfnet512-12.onnx
  • zfnet512-12-int8.onnx
  • zfnet512-12-qdq.onnx

每个.onnx均配套提供带示例测试数据的压缩包(.tar.gz),例如 zfnet512-12.tar.gz、zfnet512-12-int8.tar.gz。从 ONNX_HUB_MANIFEST.json 的登记信息可以确认:Opset 12 的 fp32 模型约 349 MB,int8 模型约 87 MB,qdq 模型约 87 MB;带测试数据的压缩包分别约 324 MB、50 MB 与 58 MB。

版本选型建议:早期 Opset(3/6/7/8/9)模型未登记 Top-1/Top-5 准确率,仅作为兼容旧版 ONNX Runtime 的存量产物;若以精度与量化能力为目标,应优先使用 Opset 12 系列(fp32 / int8 / qdq 三件套)。

三、模型输入与输出约定

依据 zfnet-512 的 README 与 ONNX_HUB_MANIFEST.json 中登记的io_ports,该模型的输入输出定义完全一致:

输入

gpu_0/data_0: float[1, 3, 224, 224]

即单张图片,批大小为 1,3 个通道(RGB),空间尺寸 224×224。

输出

gpu_0/softmax_1: float[1, 1000]

即经过 Softmax 后的 1000 类概率分布向量。

附加特征输出

对于 Opset 7、8、9、12 版本,Manifest 中还登记了额外的特征端口:

gpu_0/fc7_2: float[1, 1024]

这是全连接层 fc7 的输出特征(1024 维),可用于特征提取、迁移学习或模型可视化分析场景。若只需要分类结果,可忽略该端口。

测试数据

压缩包内含随机生成的示例测试数据,目录组织为:

  • test_data_set_0
  • test_data_set_1
  • test_data_set_2
  • test_data_set_3
  • test_data_set_4
  • test_data_set_5

共 6 组。根据 README.md 的 Usage 章节说明,ONNX 测试数据有两种组织方式:.pb格式(test_data_set_*目录内放置input_*.pboutput_*.pb的序列化 TensorProto)或.npz格式(每个文件包含一组输入输出)。你可以在解压后用 workflow_scripts 目录 下的工具脚本辅助校验模型输出。

四、预处理与后处理步骤

zfnet-512 的 README 明确指出:不同的预处理方法会得到不同的准确率,表格中的精度数据依赖于特定预处理流程。仓库为 ImageNet 系列模型提供了现成的参考实现,可直接作为 ZFNet-512 的预处理/后处理模板:

  • 预处理:imagenet_preprocess.py(含preprocesspreprocess_mxnet两个实现)
  • 后处理:imagenet_postprocess.py(postprocess函数)

预处理要点(preprocess,与精度数据对齐)

  1. 等比缩放:将图片短边缩放到 256,保持宽高比(使用 BILINEAR 插值);
  2. 中心裁剪:裁剪 224×224 的居中窗口,匹配模型输入尺寸;
  3. 通道转置:将 HWC 布局转置为 CHW;
  4. 归一化:先将像素值除以 255,再按 ImageNet 统计均值与标准差做标准化:
mean_vec = np.array([0.485, 0.456, 0.406]) stddev_vec = np.array([0.229, 0.224, 0.225]) norm_img_data[i,:,:] = (img_data[i,:,:]/255 - mean_vec[i]) / stddev_vec[i]
  1. 扩维:reshape 为[1, 3, 224, 224]的 float32 张量,与模型输入gpu_0/data_0完全对应。

后处理要点(postprocess

prob = mx.ndarray.softmax(scores).asnumpy() prob = np.squeeze(prob) a = np.argsort(prob)[::-1] return a

即对模型输出的 logits 施加 Softmax,再按概率从高到低排序返回类别 ID——前若干项即为 Top-k 预测结果。

五、精度数据与量化说明

Opset 12 系列模型的精度对比如下(数据源自 zfnet-512 README):

指标fp32int8qdq
Top-1 准确率55.97%55.84%55.83%
Top-5 准确率79.41%79.33%79.42%

与 fp32 基线相比:

  • int8 模型的 Top-1 准确率下降 0.23%,Top-5 准确率下降 0.10%,推理性能提升 1.78×
  • qdq 模型在 Top-1 上略低于基线(55.83%),Top-5 反而略高于基线(79.42%)。

需要强调的是,上述性能数据在特定硬件环境下测得:Intel® Xeon® Platinum 8280 处理器,1 路 4 核单实例,CentOS Linux 8.3,batch size = 1。性能数据依赖测试硬件,不同环境下的加速比会有所不同,引用时应注明测试条件。

int8 与 qdq 两种量化形态

  • zfnet512-12-int8.onnx:算子导向(operator-oriented)的 INT8 量化表示;
  • zfnet512-12-qdq.onnx:张量导向(tensor-oriented)的 QDQ(Quantize-Dequantize)量化表示。

两种形态均通过对 fp32 的zfnet512-12.onnx量化得到,使用的是 Intel® Neural Compressor 的 onnxruntime 后端(PTQ,训练后量化)。关于 QDQ 与算子级量化的具体差异与使用方式,仓库根 README.md 中也有说明:INT8 模型由 Intel® Neural Compressor 生成,该工具支持自动精度驱动的调优策略,可帮助用户快速找到最优量化模型。

六、量化复现:环境、下载与命令

环境

  • onnx: 1.9.0
  • onnxruntime: 1.8.0

准备 fp32 模型

wget https://github.com/onnx/models/raw/main/vision/classification/zfnet-512/model/zfnet512-12.onnx

(在只读镜像仓库环境中,可直接从 validated/vision/classification/zfnet-512/model/zfnet512-12.onnx 获取同一份模型文件。)

执行量化

使用 Intel® Neural Compressor 的run_tuning.sh脚本进行训练后量化(PTQ)。务必在配置文件中指定正确的数据集路径,命令格式如下:

bash run_tuning.sh --input_model=path/to/model \ # 模型路径,*.onnx 格式 --config=zfnet512.yaml \ --data_path=/path/to/imagenet \ --label_path=/path/to/imagenet/label \ --output_model=path/to/save

参数说明:

参数含义
--input_model待量化的 fp32 ONNX 模型路径
--config量化配置文件(此处为 zfnet512.yaml),其中需填写数据集路径
--data_pathImageNet 数据集路径
--label_pathImageNet 标签文件路径
--output_model量化后模型的保存路径

量化完成后,即可用第二节表格中的 int8/qdq 模型进行精度对比与性能测试。

七、结合仓库源码验证模型

仓库为 ONNX 模型的验证提供了标准化工具链,位于 validated/workflow_scripts 目录,包括:

  • test_models.py:批量验证模型的主脚本;
  • ort_test_dir_utils.py:基于 ONNX Runtime 的测试目录工具;
  • onnx_test_data_utils.py:测试数据(TensorProto / NumPy 归档)解析工具;
  • check_model.py 与 test_utils.py:模型检查与通用工具。

参考 README.md 中提供的测试数据加载代码,可以用onnx.load('model.onnx')加载模型,读取test_data_set_*中的input_*.pboutput_*.pb(或test_data_*.npz),在任意支持 ONNX 推理的后端上运行,并用np.testing.assert_almost_equal与参考输出对比,从而验证 zfnet512-12.onnx 的解压产物是否正常工作。

八、参考与许可

  • 论文:《Visualizing and Understanding Convolutional Networks》(arXiv:1311.2901)
  • 量化工具:Intel® Neural Compressor(onnxruntime 后端)
  • 贡献者:mengniwang95、yuwenzho、airMeng、ftian1、hshen14(均来自 Intel)
  • 许可证:MIT(模型卡片声明),仓库根 README 则声明 Apache License v2.0,引用时以具体文件头部 SPDX 标识为准
  • 人工智能
  • 大模型
  • 计算机视觉
  • NLP
  • 模型评测

【免费下载链接】models

A collection of pre-trained, state-of-the-art models in the ONNX format

项目地址:https://gitcode.com/gh_mirrors/model/models
点击查看免费下载

相关推荐

上一篇:Kornia `RandomClahe` 批次级 clip limit 修复解析:让每个采样对比度限制精确作用于对应图像
下一篇:终极指南:3种方法轻松编辑你的帕鲁世界游戏存档

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:50:03

douyin-downloader:一个命令免费把博主主页整体存到本地

douyin-downloader:一个命令免费把博主主页整体存到本地 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…

作者头像 李华
网站建设 2026/9/24 16:47:07

Qwen-Image-2.1-GGUF量化怎么选?Q4_0到Q8_0画质与体积终极对比清单

Qwen-Image-2.1-GGUF量化怎么选?Q4_0到Q8_0画质与体积终极对比清单 【免费下载链接】Qwen-Image-2.1-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/abenzerps/Qwen-Image-2.1-GGUF Qwen-Image-2.1-GGUF 是通义千问 Qwen-Image-2.1 文生图模型的 GGUF …

作者头像 李华
网站建设 2026/9/24 16:43:54

基于 Spring Boot 的高校毕业生去向跟踪与统计系统设计与应用报告

摘要: 针对高校毕业生就业与升学去向管理中存在的数据分散、登记效率偏低、统计口径不统一、历史数据回溯困难等问题,本文设计并阐述了一套基于 Spring Boot 的高校毕业生去向跟踪与统计系统。系统采用前后端分离架构,后端以 Spring Boot 为核…

作者头像 李华
网站建设 2026/9/24 16:41:37

电子课本PDF离线获取只需3步:tchMaterial-parser使用指南

电子课本PDF离线获取只需3步:tchMaterial-parser使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地…

作者头像 李华