文章

在 树莓派4B Ubuntu20.04LTS 上 部署 Conda 与 Pytorch

为了写这篇文章折腾了一个星期。在网上都没有找到合适的教程,只能自己东拼西凑地摸索。下面总结出了搭建的方法,大家可以少踩?。

安装Conda

下面列举了几种时下流行的Conda版本:

版本 特性 √or×
原生Conda 不支持armv8、aarch64(反正在本机上没法装) ×
berryConda 版本过老,不推荐使用 ×
achiConda 完美解决以上问题,即适配,版本也新

所以在armv8Ubuntu20.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试验一下:

成功导入!至此,安装全部完成!撒花!

本文由作者按照 CC BY 4.0 进行授权

© Dignite. 保留部分权利。 由  提供CDN加速。

浙ICP备2023032699号 | 使用 Jekyll 主题 Chirpy