本文档介绍如何在GPU环境的Linux系统上,使用pip方式快速安装MindSpore。下面以Ubuntu 18.04为例说明MindSpore安装步骤。
下表列出了编译安装MindSpore GPU所需的系统环境和第三方依赖。
软件名称 | 版本 | 作用 |
---|---|---|
Ubuntu | 18.04 | 编译和运行MindSpore的操作系统 |
CUDA | 11.1或11.6 | MindSpore GPU使用的并行计算架构 |
cuDNN | 7.6.x或8.0.x或8.5.x | MindSpore GPU使用的深度神经网络加速库 |
Python | 3.9-3.11 | MindSpore的使用依赖Python环境 |
GCC | 7.3.0-9.4.0 | 用于编译MindSpore的C++编译器 |
TensorRT | 7.2.2或8.4 | MindSpore使用的高性能深度学习推理SDK(可选,Serving推理需要) |
下面给出第三方依赖的安装方法。
MindSpore GPU支持CUDA 11.1和CUDA 11.6。NVIDIA官方给出了多种安装方式和安装指导,详情可查看CUDA下载页面和CUDA安装指南。 下面仅给出Linux系统使用runfile方式安装的指导。
在安装CUDA前需要先安装相关依赖,执行以下命令。
sudo apt-get install linux-headers-$(uname -r) gcc-7
CUDA 11.1要求最低显卡驱动版本为450.80.02;CUDA 11.6要求最小的显卡驱动版本为510.39.01。可以执行nvidia-smi
命令确认显卡驱动版本。如果驱动版本不满足要求,CUDA安装过程中可以选择同时安装驱动,安装驱动后需要重启系统。
使用以下命令安装CUDA 11.6(推荐)。
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run
echo -e "export PATH=/usr/local/cuda-11.6/bin:\$PATH" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
或者使用以下命令安装CUDA 11.1。
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run
echo -e "export PATH=/usr/local/cuda-11.1/bin:\$PATH" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
当默认路径/usr/local/cuda
存在安装包的时候,LD_LIBRARY_PATH环境变量不起作用;原因是MindSpore采用DT_RPATH方式支持无环境变量启动,减少用户设置;DT_RPATH优先级比LD_LIBRARY_PATH环境变量高。
完成CUDA的安装后,在cuDNN页面登录并下载对应的cuDNN安装包。如果之前安装了CUDA 11.1,下载配套CUDA 11.1的cuDNN v8.0.x;如果之前安装了CUDA 11.6,下载配套CUDA 11.6的cuDNN v8.5.x。注意下载后缀名为tgz的压缩包。假设下载的cuDNN包名为cudnn.tgz
,安装的CUDA版本为11.6,执行以下命令安装cuDNN。
tar -zxvf cudnn.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.6/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.6/lib64
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda-11.6/lib64/libcudnn*
如果之前安装了其他CUDA版本或者CUDA安装路径不同,只需替换以上命令中的/usr/local/cuda-11.6
为当前安装的CUDA路径。
Python可通过多种方式进行安装。
通过Conda安装Python。
安装Miniconda:
cd /tmp
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-$(arch).sh
bash Miniconda3-py37_4.10.3-Linux-$(arch).sh -b
cd -
. ~/miniconda3/etc/profile.d/conda.sh
conda init bash
安装完成后,可以为Conda设置清华源加速下载,参考此处。
创建虚拟环境,以Python 3.9.11为例:
conda create -n mindspore_py39 python=3.9.11 -y
conda activate mindspore_py39
通过APT安装Python,命令如下。
sudo apt-get update
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt-get install python3.9 python3.9-dev python3.9-distutils python3-pip -y
# 将新安装的Python设为默认
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 100
# 安装pip
python -m pip install pip -i https://repo.huaweicloud.com/repository/pypi/simple
sudo update-alternatives --install /usr/bin/pip pip ~/.local/bin/pip3.9 100
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple
若要安装其他Python版本,只需更改命令中的3.9
。
可以通过以下命令查看Python版本。
python --version
可以通过以下命令安装GCC。
sudo apt-get install gcc-7 -y
如果要安装更高版本的GCC,使用以下命令安装GCC 8。
sudo apt-get install gcc-8 -y
或者安装GCC 9。
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-9 -y
完成CUDA和cuDNN的安装后,在TensorRT下载页面下载配套CUDA 11.6的TensorRT 8.4,注意选择下载TAR格式的安装包。假设下载的文件名为TensorRT-8.4.1.5.Ubuntu-18.04.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz
。使用以下命令安装TensorRT。
tar xzf TensorRT-8.4.1.5.Ubuntu-18.04.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz
cd TensorRT-7.2.2.3
echo -e "export TENSORRT_HOME=$PWD" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=\$TENSORRT_HOME/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
cd -
首先参考版本列表选择想要安装的MindSpore版本,并进行SHA-256完整性校验。以2.6.0版本为例,执行以下命令。
export MS_VERSION=2.6.0
然后根据CUDA版本及Python版本执行如下命令安装最新版本的MindSpore。
# Python3.9
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/unified/x86_64/mindspore-${MS_VERSION/-/}-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# Python3.10
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/unified/x86_64/mindspore-${MS_VERSION/-/}-cp310-cp310-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# Python3.11
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/unified/x86_64/mindspore-${MS_VERSION/-/}-cp311-cp311-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
在联网状态下,安装MindSpore时会自动下载MindSpore安装包的依赖项(依赖项详情参见setup.py中的required_package),其余情况需自行安装依赖。
运行MindSpore GPU版本前,请确保nvcc的安装路径已经添加到PATH
与LD_LIBRARY_PATH
环境变量中,如果没有添加,以安装在默认路径的CUDA11为例,可以执行如下操作:
export PATH=/usr/local/cuda-11.6/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH
如果之前安装了其他CUDA版本或者CUDA安装路径不同,只需替换以上命令中的/usr/local/cuda-11.6
为当前安装的CUDA路径。
方法一:
执行以下命令:
python -c "import mindspore;mindspore.set_device(device_target='GPU');mindspore.run_check()"
如果输出:
MindSpore version: 版本号
The result of multiplication calculation is correct, MindSpore has been installed on platform [GPU] successfully!
说明MindSpore安装成功了。
方法二:
执行以下代码:
import numpy as np
import mindspore as ms
import mindspore.ops as ops
ms.set_device(device_target="GPU")
x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))
如果输出:
[[[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]]]
说明MindSpore安装成功了。
从MindSpore 1.x升级到MindSpore 2.x版本时,需要先手动卸载旧版本:
pip uninstall mindspore-gpu
然后安装新版本:
pip install mindspore=={version}
从MindSpore 2.x版本升级时,执行以下命令:
pip install --upgrade mindspore=={version}
其中:
{version}
为rc版本号,例如1.6.0rc1;如果升级到正式版本,=={version}
字段可以缺省。注意:1.3.0及以上版本升级时,默认选择CUDA11版本,若仍希望使用CUDA10版本,请选择相应的完整wheel安装包。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。