欢迎关注我的公众号 [极智视界],获取我的更多经验分享
大家好,我是极智视界,本文介绍一下 ubuntu源码编译onnx2trt。
邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq
onnx2trt,很明显就是将 onnx 转换为 tensorrt 模型的一个工具。编译过程中还会涉及 protobuf 的编译,以及配置 tensorrt、onnx 包,且需要进行版本的对齐,这里我把编译 onnx2trt 所需的文件都整理到了一起,并整理了一键编译的脚本 build.sh
,这样你就不用被繁琐的依赖下载所困扰,整理好的 onnx2trt 编译源码包的获取连接:链接。
下面介绍完整的编译过程。
首先需要编译 protobuf,这部分可以查看我之间的文章 《极智开发 | ubuntu 安装 protobuf》,但是需要注意 protobuf 的版本,如果直接使用我之前文章的版本后面编译 onnx2trt 的时候会报错,可以直接采用我这里提供的 onnx2trt 编译包中的 protobuf 的版本,实际是 3.16.3 的。
然后需要下载 onnx 的源码包和 tensorrt 的 linux 包,把 onnx 包放到 onnx2trt 编译包的 third_party 目录下,tensorrt 包可放任意位置,需要注意的是我提供的 tensorrt 版本是 8.2.1.8 的。
万事俱备,只欠编译。
# build.sh
if [ ! -d "./build" ]; then
mkdir build
else
rm -rf build/*
fi
cd build
cmake .. -DTENSORRT_ROOT=../TensorRT-8.2.1.8 -DGPU_ARCHS="75"
make -j8
sudo make install -j8
这里直接执行 build.sh
就能编译成功,完了在编译目录 build 下就会编译出我们想要的可执行程序 onnx2trt,可以执行验证一下:
./build/onnx2trt -help
输出如下:
好了,以上分享了 ubuntu源码编译onnx2trt的方法,希望我的分享能对你的学习有一点帮助。
【极智视界】
畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球,星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq