1.原因
在jetson nano开发板上部署YOLOv5的时候,一开始配置环境是使用git clone从github上克隆torchvision的。可能是由于网络原因第一遍并没有安装成功,在运行detect.py的时候就报错subprocess.CalledProcessError: Command pip install torchvision>=0.8.1 returned non-zero exit status 127。又一次安装后仍然不行,查询后才发现jetson nano镜像中的linux并不是X86架构而是类似手机的ARM架构(并不是十分了解,大概查了一下X86性能更好、ARM节能更好),这就导致在pytorch官网下载的包在实际使用时无法调用开发板的显卡。因此pytorch和torchvision都需要安装英伟达官网给出的版本。
2.安装
pytorch和torchvision的版本是需要对应的,安装之前需要查清楚自己的pytorch对应哪一个版本号的torchvision。想要查看torchvison与torch的版本对应可以查看pytorch官网的对应规则,我没仔细看,大致上都是一样的。
2.1pytorch安装
英伟达官方pytorch下载地址:
https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
下载时要注意查看,自己安装的镜像是jetpack4还是jetpack5,需要下载哪一个版本的pytorch。下 载后在linux终端输入:(可以把文件直接放在桌面,在输入sudo pip install 后直接将.whl文件拖到命令行,窗口会自动填充)
sudo pip install 文件地址
2.2torchvision安装
torchvision下载地址:
https://github.com/pytorch/vision torchvision
在安装torchvison前需要提前安装好所需要的依赖。
sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev
安装:
cd torchvision
export BUILD_VERSION=0.9.0
sudo python setup.py install