使用Python3 (使用Python2的同学将下面的Python3换成Python,pip3换成pip即可),我的sd卡32G,安装的是pytorch1.0.1。
利用pip search torch
可以查看可安装在树莓派上的torch版本。
1.对系统进行更新
sudo apt update && sudo apt upgrade
sudo apt install vim
2.打开交换区设置文件
sudo nano /etc/dphys-swapfile
接着找出常量CONF_SWAPSEIZE,CONF_MAXSWAP,把后面的默认的100改成2048,增加交换区的大小到2G。
然后执行以下命令激活交换文件系统:
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
3.接着安装依赖包
sudo apt-get install libopenblas-dev cython3 libatlas-dev m4 libblas-dev cmake
用git下载pytorch源代码:
git clone --recursive https://github.com/pytorch/pytorch
打开pytorch安装目录:
cd pytorch
切换到我们想安装的版本,例如v1.0.1:
git checkout tags/v1.0.1 -b build
git submodule update --init --recursive
4.开始编译pytorch。
编译pytorch之前,需要安装依赖的python包。安装依赖包:
pip install -r requirements.txt
以下4.1和4.2任选一个
4.1 这一步非常重要,如果环境变量设置不正确,编译的过程会报错。例如:
Failed to run 'bash tools/build_pytorch_libs.sh --use-cuda --use-nnpack --use mkldnn --use qnnpack caffe2'
我们可以利用export命令,设置所需要的环境变量,例如我们把cuda支持去掉,因为树莓派不支持cuda。
export NO_CUDA=1
export NO_DISTRIBUTED=1
export NO_MKLDNN=1
export NO_NNPACK=1
export NO_QNNPACK=1
接着我们就可以利用命令:
python3 setup.py build
(不能用sudo python3 setup.py build
,否则设置的环境变量不起作用)
对pytorch进行编译,这个过程需要需要耗费几个小时。
当编译完成后,我们就可以利用命令进行安装了
python3 setup.py install
这样pytorch就完成安装了。
4.2或者直接用
sudo -E USE_MKLDNN=0 USE_QNNPACK=0 USE_NNPACK=0 USE_DISTRIBUTED=0 BUILD_TEST=0 python3 setup.py install
若出现error:
Failed to run 'bash ../tools/build_pytorch_libs.sh caffe2'
则在pytorch文件夹下
sudo git submodule update --init
sudo -E USE_MKLDNN=0 USE_QNNPACK=0 USE_NNPACK=0 USE_DISTRIBUTED=0 ./scripts/build_raspbian.sh
使用python3 setup.py build
时出现
this caffe2 build also takes long time make: *** [Makefile:144:all] 错误 2
相关的错误可以直接放弃build,直接利用4.2的命令
4.3可以通过export MAX_JOBS=2
,防止树莓派内存过小,编译卡死的情况,使得编译速度加快。
5.测试pytorch
在python环境中测试例如
import torch a = torch.rand(5,3) print(a)
参考:https://blog.csdn.net/zhouxzh123/article/details/88652312
https://github.com/pytorch/pytorch/issues/26455
https://blog.techforce.top/165.html
https://blog.csdn.net/chengyq116/article/details/83817726