Nvidia Orin 安装onnxruntime-gpu
在用英伟达边缘设备Nvidia Orin 安装onnxruntime-gpu环境时, 通常会遇到很多问题。
在正常的Nvidia 服务器上安装onnxruntime-gpu 是非常简单的, 直接pip install onnxruntime-gpu
即可, 但是在边缘设备上就没有这么简单了。 直接pip install onnxruntime-gpu
是找不到相应的包的。
下面介绍2种安装方法:
1 通过预编译的whl包进行安装
这种是最简单的, 只比pip install onnxruntime-gpu
略微麻烦一点, 需要手动下载离线包。
但是预编译的包不一定能适配你的机器,因此需要确认好环境版本, 最主要的是Jetpack的版本和python版本,
通过下面的命令可查询Jetpack版本:
dpkg -l | grep 'nvidia-jetpack'
比如我的环境版本:
nvidia@nvidia-desktop:~/leo/test_onnx$ dpkg -l | grep 'nvidia-jetpack'
ii nvidia-jetpack 5.1.1-b56 arm64 NVIDIA Jetpack Meta Package
ii nvidia-jetpack-dev 5.1.1-b56 arm64 NVIDIA Jetpack dev Meta Package
ii nvidia-jetpack-runtime 5.1.1-b56 arm64 NVIDIA Jetpack runtime Meta Package
然后从https://elinux.org/Jetson_Zoo#ONNX_Runtime 这个地址下载预编译好的whl包。
我的python 是3.8版本, 因此下载下面的版本
下面完后pip install xxx.whl
安装即可。
一定要注意, 即使你下载的版本不对, 安装的时候很可能不会报错,也就是说你可以正常安装上onnxruntime-gpu这个包, 但是可能无法使用gpu
安装好后可以通过下面的代码确认是否可以使用gpu
import onnxruntime
onnxruntime.get_device()
onnxruntime.get_available_providers()
出现GPU 和CUDAExecutionProvider 说明可以使用gpu了。
2 通过源码编译安装
如果https://elinux.org/Jetson_Zoo#ONNX_Runtime这个链接中的版本没有匹配你环境的, 那么很不幸, 只能通过源码编译安装了。 这个里面有很多坑。
可参考: https://blog.csdn.net/qq_38418182/article/details/146093485