可选择在NX上创建新python环境进行安装,避免和其他工程环境发生冲突,具体虚拟环境操作步骤可见Python创建虚拟环境。 下面就开始安装pytorch的愉快之旅吧! 1. 安装相关依赖环境
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
2. 下载pytorch 由于NX使用的是aarch64架构的cpu,直接官网安装是不行的,那么就得求助NVIDIA论坛了:Pytorch for Jetson 论坛中给出了详细的安装步骤,按部就班进行就OK了。 这里下载可能会很慢,附上我下载好的pytorch v1.7~v1.9版本资源,可自取:Nvidia Jetson系列的arm编译的torch.whl 3. 安装 当下载好pytorch的whl文件之后,直接用在下载目录用命令安装
pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl
这里需要注意的是,默认下载的numpy是最新版本(我的是1.19.5),最新版本的numpy会出现指令不兼容的问题,所以会导致非法指令的问题: 这样我们最好将numpy的版本降级,这样就能解决这个问题
pip install numpy==1.19.3
安装好了pytorch之后,就是对应的视觉库torchvision了,我们在论坛上可以找到版本匹配表: 还是再安装对应的依赖库:
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
将github上大佬写好的torchvision库clone我们本地来 入口:torchvision
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision
git clone --branch v0.9.0 https://gitee.com/rchen1997/torchvision torchvision
下载结束后,进入torchvision文件内进行安装:
cd torchvision
export BUILD_VERSION=0.x.0
python3 setup.py install --user
cd ../
这里可能会出现版本匹配或者不能加载 custom C++ ops的问题: 这是因为我们需要利用build中C++编译的文件,而现在这种安装方式可能会出现路径不一致的问题,所以我们需要将build下的torchvision文件拷贝到我们安装环境的库路径中,否则会出现import error。具体操作为: (1)找到你python环境的所在位置,进入lib/python3.6/site-packages/中; (2)进入上面安装好的torchvision/build/lib.linux-aarch64-3.6/torchvision,确认这里面是否有我们需要的ops文件夹和version.py版本信息,然后拷贝到步骤(1)中的路径即可。 4. 验证 拷贝代码进行验证:
import torch
import torchvision
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))
print(torchvision.__version__)
输出结果如下就安装成功,丹炉造好了!!!
|