onnxruntime是一种用于onnx格式的机器学习模型的高性能推理引擎,适用于Linux,Windows、Mac及嵌入式设备。
这篇博客记录了编译onnxruntime的步骤及在此过程种遇到的问题及解决方法。
1 下载
git clone --depth 1 --branch v1.12.1 --recursive https://github.com/Microsoft/onnxruntime
下载过程种遇到的问题及解决方法记录
- fatal: unable to access 'https://github.com/...': OpenSSL SSL_read: Connection was aborted, errno 10053
需解除ssl网络认证,
git config --global http.sslVerify false
- 与下载速度相关
如果git clone速度过慢,可参考以下博客修改
《https://www.cnblogs.com/isLinXu/p/16990977.html》
如果还是clone不下来,建议直接下载官方提供的二进制文件,官网链接如下:
https://github.com/microsoft/onnxruntime/tags
可参考本机的cuda、cudnn版本来选择安装的onnxruntime版本,对应关系如下:
https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html
- error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly before end
解决方法一(换掉git的http版本):
git config --global http.version HTTP/1.1
解决方法二(增加git buffer的大小):
git config --global http.postBuffer 524288000
- Failed to connect to github.com port 443 after 21052 ms: Timed out
这是由git端口与系统代理不同所导致,
先打开设置->网络与Internet->代理,并记录当前代理的地址及端口号,
然后修改git的地址和端口,
git config --global http.proxy http://[地址]:[端口]
git config --global https.proxy http://[地址]:[端口]
2 编译
编译GPU版本
./build.sh --skip_tests --use_cuda --config Release --build_shared_lib --parallel --cuda_home [你的cuda安装目录] --cudnn_home [你的cuda安装目录]
其中,--use_cuda表示使用的是gpu版的onnxruntime,--cuda_home、--cudnn_home均指向自己安装cuda的目录,比如“/usr/local/cuda-11.4”
onnxruntime与cuda、cudnn对应版本的关系可参考如下官方推荐:
https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html
编译CPU版本
./build.sh --skip_tests --config Release --build_shared_lib
编译TensorRT版本
./build.sh \
--parallel 8 \
--use_cuda \
--cuda_version=11.1 \
--cuda_home=[你的cuda安装目录] \
--cudnn_home=[你的cuda安装目录] \
--use_tensorrt \
--tensorrt_home=[你的tensorrt安装目录] \
--build_shared_lib --enable_pybind \
--build_wheel --update --build \
--config Release
版权归原作者 Cassiel_cx 所有, 如有侵权,请联系我们删除。