安装依赖
sudo apt install libopenblas-dev libatlas-base-dev liblapack-dev
# For OpenCV
sudo apt install liblapacke-dev checkinstall
sudo apt-get install python3-pip
sudo apt-get install python3-dev
# 安装python库
sudo apt-get install python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
sudo apt-get install gfortran # 安装scipy时会需要它
sudo pip3 install numpy scipy # 这个花费的时间略长,20分钟到30分钟左右
sudo pip3 install pyyaml
sudo pip3 install scikit-build
sudo apt-get -y install cmake
sudo pip3 install cffi
添加CUDNN路径
安装完之后,我们添加cudnn的lib和include路径,为什么要执行这一步,因为我们在刷好机后,cuda和cudnn也已经安装好,但是JetPack系统中的cudnn路径和我们一般ubuntu系统中的路径略有不同(为什么不同看这里:https://oldpan.me/archives/pytorch-gpu-ubuntu-nvidia-cuda90),这时需要我们将cudnn的路径添加到环境变量中并激活:
sudo gedit ~/.bashrc
export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu
export CUDNN_INCLUDE_DIR=/usr/include
source ~/.bashrc
下载pytorch码源包
我们从github上直接拷贝最新的Pytorch源码包,然后利用pip3安装好所有必备的库,并对第三方库进行更新。
git clone http://github.com/pytorch/pytorch
cd pytorch
sudo pip3 install -U setuptools
sudo pip3 install -r requirements.txt
# 这里选择1.0.0版本进行编译
git checkout tags/v0.4.0 -b build
git submodule update --init --recursive
编译
在编译之前,我们先开启TX2的最大功率模式,这样可以使我们的编译速度稍微快一些:
sudo nvpmodel -m 0 # 切换工作模式到最大
cd /usr/bin/
sudo ./jetson_clocks # 强制开启风扇最大转速
此时,风扇已经转起来了
进入Pytorch源码目录后,我们首先执行下面这一句首先编译Pytorch的开发组件:
sudo python3 setup.py build
漫长的编译后(2小时),我们继续执行以下的命令:
NO_SYSTEM_NCCL=1 DEBUG=1 sudo -E python3 setup.py install
同样是漫长的编译(2小时),等待后不出意外就编译成功了!
验证安装
在terminal中依次输入以下指令,不报错就成功了:
$ python3
>>> import torch
>>>
后续操作
sudo apt clean
sudo apt-get install libjpeg-dev zlib1g-dev
git clone https://github.com/python-pillow/Pillow.git
cd Pillow/
sudo python3 setup.py install
sudo pip3 install pandas # ~20-30 min
sudo pip3 install Cython
sudo pip3 install scikit-image
sudo pip3 --no-cache-dir install torchvision
如果不行
请看另一篇傻瓜式安装:https://www.jianshu.com/p/f5533f911285
参考文献
[1] https://oldpan.me/archives/nvidia-jetson-tx2-source-build-pytorch
网友评论