安装miniforge
在ARM64上的anaconda替代品是miniforge,为方便管理我们安装miniforge
(1)首先到官方下载对应的 sh 文件
我这里最新版的是 Miniforge3-4.11.0-0-Linux-aarch64.sh
,注意版本,aarch64
(2)使用 sh 指令安装
sh Miniforge3-4.11.0-0-Linux-aarch64.sh
(3)添加环境变量
# 编辑环境变量
vim ~/.bashrc
# 增加环境变量(如果修改了默认路径就是用你的路径)
export PATH=/home/<your username>/miniforge3/bin:$PATH
# 激活环境变量
source ~/.bashrc
# 显示(base)
source activate
(4)更换下载源为清华源
conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
(5) 创建一个新的虚拟环境
环境名为 TORCH 并指定 python 版本 3.6
conda create -n TORCH python=3.6
conda activate TORCH
conda deactivate
安装 pytorch
首先到官网下载对应的文件,直接使用 MobaXterm 进行传输。使用 wget 下载也是可以的看你自己,MobaXterm 也挺方便的,拖拽就行。
安装相关依赖
sudo apt-get install libopenblas-base libopenmpi-dev
sudo pip3 install mpi4py
sudo pip3 install Cython
安装 pytorch
pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
安装完成之后测试一下
>>> import torch
>>> print(torch.__version__)
1.7.0
>>> print(str(torch.cuda.is_available()))
True
>>>
tips:
我在这里 import torch 时出现了一个错误 “非法指令(核心已转储)”,一开始以为是版本过高,第一次安装的是 torch 1.10,所以我又卸载重新装了一个 1.7 的版本不料又报错了,接着参考了其他博客解决了问题,问题在于 numpy的版本,由于numpy 1.19.5 和 OpenBLAS 冲突引起的,修改其中一项即可。
pip3 install -U "numpy==1.19.4"
或者
vim ~/.bashrc
加入
export OPENBLAS_CORETYPE=ARMV8
激活
source ~/.bashrc
安装 torchvision
torch 版本与 torchvision 版本需要对应,具体参考
找到对应的版本,下载到本地,使用 MobaXterm 传过去,进入文件夹使用 unzip xxx.zip 解压
进入到 visionxxx 文件夹,也可以使用 git 指令克隆(git clone url),有时候速度很慢,这里直接用下载的方式吧。使用如下指令安装,需要一些依赖
sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
python3 setup.py install
tips
:
过程较长,耐心等待,会有一些警告不用管