【MindSpore易点通·漫游世界】在Jetson Nano上安装MindSpore 1.6.0 CPU版
【MindSpore易点通·漫游世界】在Jetson Nano上安装MindSpore 1.6.0 CPU版
本文摘自 原创作品:Nvidia Jetson Nano B01初体验(2) https://bbs.huaweicloud.com/blogs/330177 第16节
(十六)探索:安装昇思
尽管MindSpore没有CUDA10.2的aarch64版本。

只有aarch的CPU版本:

Python的版本也只有3.6.9。但是作为昇思开发者的张小白,仍然想在Nano的CPU上跑一下MindSpore试试。
于是,张小白心想:应该先装anaconda for aarch64,这样才能让Nano上有Python3.7.5。
打开 https://www.anaconda.com/products/individual

复制ARM64的安装链接:
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-aarch64.sh

./Anaconda3-2021.11-Linux-aarch64.sh

按回车继续:

输入yes,回车:

按回车继续:

好像不行,core dump了。
含泪删除:rm -rf ~/anaconda3
打开 https://docs.conda.io/en/latest/miniconda.html#linux-installers

复制下链接:
wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-aarch64.sh

bash ./Miniconda3-py37_4.10.3-Linux-aarch64.sh




好像是一样的coredump,看来conda是不行了。
再次含泪删除:rm -rf ~/miniconda3。
再试下 pyenv和virtualenv吧,原理上:使用 pyenv 可以安装任何版本的 Python,用 virtualenv 创建虚拟环境时指定需要的 Python 版本路径,这样就可以创建任何版本的虚拟环境。
sudo -H pip3 install virtualenv virtualenvwrapper -i https://pypi.tuna.tsinghua.edu.cn/simple/


mkdir ~/.virtualenvs
vi ~/.bashrc

source ~/.bashrc

安装pyenv
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
git clone https://github.com/yyuu/pyenv.git ~/.pyenv

在~/.bashrc加入以下内容:

source ~/.bashrc 使其生效
查看Python可用版本:
pyenv install --list


。。。

貌似有非常多。
用pyenv装个python3.7.5试试:
pyenv install 3.7.5

感觉下载要蛮长的时间,耐心等待吧。

报缺少ssl库。
sudo apt-get install openssl libssl-dev

按Y继续:

再来一遍:
pyenv install 3.7.5

可以到 /home/zhanghui/.pyenv/versions/3.7.5 目录下看到Python的版本:

刷新pyenv并查看现在的版本:
pyenv rehash
pyenv versions

创建Python 3.7.5的mindspore运行环境(命名为mindspore-py375):
virtualenv -p ~/.pyenv/versions/3.7.5/bin/python mindspore-py375

它会在当前目录下建一个mindspore-py375目录:

source ~/mindspore-py375/bin/activate

这就切换到了Python 3.7.5的环境。
安装mindspore cpu(aarch64) 1.6.0版本:
pip3 install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/cpu/aarch64/mindspore-1.6.0-cp37-cp37m-linux\_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

报错了。
先安装gmp6.1.2
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz

xz -d gmp-6.1.2.tar.xz
tar -xvf gmp-6.1.2.tar
cd gmp-6.1.2
./configure

...

make

sudo make install

升级下pip试试:
python -m pip install --upgrade pip

去掉清华源试试:
pip3 install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/cpu/aarch64/mindspore-1.6.0-cp37-cp37m-linux\_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com

安装速度要慢一点,耐心等待吧。

pip3 install --upgrade setuptools

pip3 install pip==21.3.1

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl

..

wget https://github.com/Kitware/CMake/releases/download/v3.18.5/cmake-3.18.5.tar.gz

tar -zxvf cmake-3.18.5.tar.gz
cd cmake-3.18.5
./bootstrap

...

make -j8

...

sudo make install -j8

cmake --version

发现 /usr/bin和/usr/local/bin下都有cmake。
将/usr/bin下的cmake改名,重试:

pip3 install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/cpu/aarch64/mindspore-1.6.0-cp37-cp37m-linux\_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

好像还是不行。
要不还是换成Python 3.9.0再试一次
退出mindspore-py375环境
deactivate

pyenv install 3.9.0

pyenv rehash
pyenv versions

virtualenv -p ~/.pyenv/versions/3.9.0/bin/python mindspore-py390

source ~/mindspore-py390/bin/activate

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/cpu/aarch64/mindspore-1.6.0-cp39-cp39-linux\_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple


这个居然安装成功了!
做个测试看看:
python -c "import mindspore;mindspore.run_check()"

好了,其实CPU也没啥意义。只是张小白不服输而已。要是GPU+aarch64版本能用才是真的有用。