小工具知识网

当前位置: 首页 > 行业知识 > 从零开始 TensorRT(7)C++ 篇:解析 ONNX

行业知识

从零开始 TensorRT(7)C++ 篇:解析 ONNX

2026-11-16 04:08:31 来源:互联网转载

前言

���习资料:

()

B站视频配套代码 cookbook

示例

参考源码:cookbook → 04-BuildEngineByONNXParser → pyTorch-ONNX-TensorRT

()

源码

C++ 代码量较多,已上传 GitHub

OpenCV 安装:

apt install libopencv-dev

(1)按 Python 篇中的方式将 RenNet-18 转为 ONNX

python generate_onnx.py

(2)编译运行

mkdir buildcd buildcmake ..makecd ../bin./demo./demo --fp16./demo --int8

解析

  在 cookbook 中,createCalibrationAndInferenceData.py 将 MNIST 数据存储为 npz 文件,并在 C++ 部分直接读取 Numpy 文件中的数据用于推理和校正,避免了图片解码的相关代码。

  本文示例依然是参考 cookbook,使用 ResNet 进行推理。将读取 Numpy 文件的部分改为读取本地图像,并利用 OpenCV 对图像进行预处理,Int8 模式中的校正器部分代码也有所改动。

(1)预处理

std::vector loadImg(const std::string filename, int width, int height, int channel) {    cv::Mat image = cv::imread(filename, cv::IMREAD_COLOR);    if (image.empty()) {        std::cerr         for (int h = 0; h 

上一篇:群晖怎么备份服务器数据?

下一篇:轻松下载Office,步骤与技巧