在 树莓派4B Ubuntu20.04LTS 上 部署 Conda 与 Pytorch
为了写这篇文章折腾了一个星期。在网上都没有找到合适的教程,只能自己东拼西凑地摸索。下面总结出了搭建的方法,大家可以少踩?。
安装Conda
下面列举了几种时下流行的Conda版本:
版本 | 特性 | √or× |
---|---|---|
原生Conda | 不支持armv8、aarch64(反正在本机上没法装) | × |
berryConda | 版本过老,不推荐使用 | × |
achiConda | 完美解决以上问题,即适配,版本也新 | √ |
所以在armv8的Ubuntu20.04LTS上,装achiConda是最好的选择。
achiConda的GitHub下载页面:Release Archiconda With just conda-forge · Archiconda/build-tools (github.com)。
您当然可以下载最新的版本。这里以当前0.2.3版本为例(不过我觉得作者不打算更新了)。
下载并安装安装包(不需要管理员身份):
wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh chmod +x Archiconda3-0.2.3-Linux-aarch64.sh bash Archiconda3-0.2.3-Linux-aarch64.sh
接着您需要手动操作。狂按Enter阅读协议,然后输入yes安装。
等待安装完毕,在命令行中输入python,看看是否安装成功。
当出现如图圈出来的信息时,就说明安装成功了。
按CTRL+Z退出python。
Pytorch编译并安装
warning TIP
不想自己编译的可以使用笔者编译好的。下载后导入服务器,直接转到“安装”一节进行操作。下载链接:https://wwr.lanzoui.com/io6nmrxydzc 请自行解压。
编译
首先安装一些依赖:
sudo apt-get install libopenblas-dev cython3 libatlas-base-dev m4 libblas-dev cmake sudo apt-get install python3-dev python3-yaml python3-setuptools python3-wheel python3-pillow python3-numpy
接着设置基本参数:
export NO_CUDA=1 export NO_DISTRIBUTED=1 export NO_MKLDNN=1 export NO_NNPACK=1 export NO_QNNPACK=1
warning 提示
如果您在后面的操作中发现终端提示该“NO_...”以弃用,请使用“USE_...”,那么请输入终端:
export USE_CUDA=0 export USE_DISTRIBUTED=0 export USE_MKLDNN=0 export USE_NNPACK=0 export USE_QNNPACK=0
安装numpy:
pip3 install numpy pyyaml
warning 提示
不装numpy也可以,但是您在使用pytorch的时候将无法支持numpy。
设置交换内存:
当您的树莓派内存小于8G的时候,建议设置交换内存。笔者用4G的编译的时候,发现还是内存溢出。这里设置4G的交换内存。
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
交换内存设置开机启动:
sudo nano /etc/fstab #在最后一行加入: /swapfile none swap sw 0 0 #退出保存即可
克隆Pytorch库:
git clone https://github.com/pytorch/pytorch.git cd pytorch git checkout v1.6.0 git submodule update --init --recursive git submodule update --remote third_party/protobuf
由于网络环境有差异,您可能需要将第4条命令多执行几遍。笔者这里总共大约克隆了2小时QWQ……
编译!
python3 setup.py bdist_wheel
编译过程大约5小时。您可以睡一觉。如果发现意外退出了,一般来说是因为内存不够。试着添加swap内存。
最后,当您看到如图所示的信息,恭喜,编译成功了!
安装
安装相对快多了。输入命令(请注意文件名):
cd dist pip3 install torch-1.2.0a0+8554416-cp37-cp37m-linux_aarch64.whl
如果出现以下错误:
不要担心。试着使用其他版本的pip。该pip版本应该是您编译Pytorch时使用的python版本。
试着输入:
pip install torch-1.2.0a0+8554416-cp37-cp37m-linux_aarch64.whl
安装成功!打开python试验一下:
成功导入!至此,安装全部完成!撒花!