# 安装MindSpore
本文档介绍如何在Nvidia GPU的环境上快速安装MindSpore。
- [安装MindSpore](#安装mindspore)
- [环境要求](#环境要求)
- [硬件要求](#硬件要求)
- [系统要求和软件依赖](#系统要求和软件依赖)
- [Conda安装(可选)](#conda安装可选)
- [安装指南](#安装指南)
- [通过可执行文件安装](#通过可执行文件安装)
- [从源码编译安装](#从源码编译安装)
- [安装验证](#安装验证)
- [安装MindInsight](#安装mindinsight)
- [安装MindArmour](#安装mindarmour)
## 环境要求
### 硬件要求
- Nvidia GPU
### 系统要求和软件依赖
| 版本号 | 操作系统 | 可执行文件安装依赖 | 源码编译安装依赖 |
| ---- | :--- | :--- | :--- |
| MindSpore master | Ubuntu 16.04(及以上) x86_64 | - [Python](https://www.python.org/downloads/) 3.7.5
- [CUDA 9.2](https://developer.nvidia.com/cuda-92-download-archive) / [CUDA 10.1](https://developer.nvidia.com/cuda-10.1-download-archive-base)
- [CuDNN](https://developer.nvidia.com/rdp/cudnn-archive) >= 7.6
- [OpenMPI](https://www.open-mpi.org/faq/?category=building#easy-build) 3.1.5 (可选,单机多卡/多机多卡训练需要)
- [NCCL](https://docs.nvidia.com/deeplearning/sdk/nccl-install-guide/index.html#debian) 2.4.8-1 (可选,单机多卡/多机多卡训练需要)
- 其他依赖项参见[requirements.txt](https://gitee.com/mindspore/mindspore/blob/r0.2/requirements.txt) | **编译依赖:**
- [Python](https://www.python.org/downloads/) 3.7.5
- [wheel](https://pypi.org/project/wheel/) >= 0.32.0
- [CMake](https://cmake.org/download/) >= 3.14.1
- [GCC](https://gcc.gnu.org/releases.html) 7.3.0
- [patch](http://ftp.gnu.org/gnu/patch/) >= 2.5
- [Autoconf](https://www.gnu.org/software/autoconf) >= 2.69
- [Libtool](https://www.gnu.org/software/libtool) >= 2.4.6-29.fc30
- [Automake](https://www.gnu.org/software/automake) >= 1.15.1
- [CUDA 9.2](https://developer.nvidia.com/cuda-92-download-archive) / [CUDA 10.1](https://developer.nvidia.com/cuda-10.1-download-archive-base)
- [CuDNN](https://developer.nvidia.com/rdp/cudnn-archive) >= 7.6
**安装依赖:**
与可执行文件安装依赖相同 |
- Ubuntu版本为18.04时,GCC 7.3.0可以直接通过apt命令安装。
- 在联网状态下,安装whl包时会自动下载requirements.txt中的依赖项,其余情况需自行安装。
- 为了方便用户使用,MindSpore降低了对Autoconf、Libtool、Automake版本的依赖,可以使用系统自带版本。
### Conda安装(可选)
1. Conda安装包下载路径如下。
- [X86 Anaconda](https://www.anaconda.com/distribution/) 或 [X86 Miniconda](https://docs.conda.io/en/latest/miniconda.html)
2. 创建并激活Python环境。
```bash
conda create -n {your_env_name} python=3.7.5
conda activate {your_env_name}
```
> Conda是强大的Python环境管理工具,建议初学者上网查阅更多资料。
## 安装指南
### 通过可执行文件安装
- 从[MindSpore网站下载地址](https://www.mindspore.cn/versions)下载whl包,建议先进行SHA-256完整性校验,执行如下命令安装MindSpore。
```bash
pip install mindspore_gpu-{version}-cp37-cp37m-linux_{arch}.whl
```
### 从源码编译安装
1. 从代码仓下载源码。
```bash
git clone https://gitee.com/mindspore/mindspore.git -b r0.2
```
2. 在源码根目录下执行如下命令编译MindSpore。
```bash
bash build.sh -e gpu -M on -z
```
> - 在执行上述命令前,需保证可执行文件cmake和patch所在路径已加入环境变量PATH中。
> - build.sh中会执行git clone获取第三方依赖库的代码,请提前确保git的网络设置正确可用。
> - build.sh中默认的编译线程数为8,如果编译机性能较差可能会出现编译错误,可在执行中增加-j{线程数}来减少线程数量。如`bash build.sh -e gpu -M on -z -j4`。
3. 执行如下命令安装MindSpore。
```bash
chmod +x build/package/mindspore_gpu-{version}-cp37-cp37m-linux_{arch}.whl
pip install build/package/mindspore_gpu-{version}-cp37-cp37m-linux_{arch}.whl
```
## 安装验证
- 安装好MindSpore之后,执行如下python脚本:
```bash
import numpy as np
from mindspore import Tensor
from mindspore.ops import functional as F
import mindspore.context as context
context.set_context(device_target="GPU")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(F.tensor_add(x, y))
```
- 若出现如下结果,即安装验证通过。
```bash
[[[ 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.]]]
```
# 安装MindInsight
当您需要查看训练过程中的标量、图像、计算图以及模型超参等信息时,可以选装MindInsight。
## 环境要求
### 系统要求和软件依赖
| 版本号 | 操作系统 | 可执行文件安装依赖 | 源码编译安装依赖 |
| ---- | :--- | :--- | :--- |
| MindInsight master | - Ubuntu 16.04(及以上) x86_64 | - [Python](https://www.python.org/downloads/) 3.7.5
- MindSpore master
- 其他依赖项参见[requirements.txt](https://gitee.com/mindspore/mindinsight/blob/master/requirements.txt) | **编译依赖:**
- [Python](https://www.python.org/downloads/) 3.7.5
- [CMake](https://cmake.org/download/) >= 3.14.1
- [GCC](https://gcc.gnu.org/releases.html) 7.3.0
- [node.js](https://nodejs.org/en/download/) >= 10.19.0
- [wheel](https://pypi.org/project/wheel/) >= 0.32.0
- [pybind11](https://pypi.org/project/pybind11/) >= 2.4.3
**安装依赖:**
与可执行文件安装依赖相同 |
- 在联网状态下,安装whl包时会自动下载requirements.txt中的依赖项,其余情况需自行安装。
## 安装指南
### 通过可执行文件安装
1. 从[MindSpore网站下载地址](https://www.mindspore.cn/versions)下载whl包,建议先进行SHA-256完整性校验,执行如下命令安装MindInsight。
```bash
pip install mindinsight-{version}-cp37-cp37m-linux_{arch}.whl
```
2. 执行如下命令,如果提示`web address: http://127.0.0.1:8080`,则说明安装成功。
```bash
mindinsight start
```
### 从源码编译安装
1. 从代码仓下载源码。
```bash
git clone https://gitee.com/mindspore/mindinsight.git -b r0.2
```
> **不能**直接在仓库主页下载zip包获取源码。
2. 可选择以下任意一种安装方式:
(1) 进入源码的根目录,执行安装命令。
```bash
cd mindinsight
pip install -r requirements.txt
python setup.py install
```
(2) 构建whl包进行安装。
进入源码的根目录,先执行build目录下的MindInsight编译脚本,再执行命令安装output目录下生成的whl包。
```bash
cd mindinsight
bash build/build.sh
pip install output/mindinsight-{version}-cp37-cp37m-linux_{arch}.whl
```
3. 执行如下命令,如果提示`web address: http://127.0.0.1:8080`,则说明安装成功。
```bash
mindinsight start
```
# 安装MindArmour
当您进行AI模型安全研究或想要增强AI应用模型的防护能力时,可以选装MindArmour。
## 环境要求
### 系统要求和软件依赖
| 版本号 | 操作系统 | 可执行文件安装依赖 | 源码编译安装依赖 |
| ---------------------- | :------------------ | :----------------------------------------------------------- | :----------------------- |
| MindArmour master | Ubuntu 16.04(及以上) x86_64 | - [Python](https://www.python.org/downloads/) 3.7.5
- MindSpore master
- 其他依赖项参见[setup.py](https://gitee.com/mindspore/mindarmour/blob/master/setup.py) | 与可执行文件安装依赖相同 |
- 在联网状态下,安装whl包时会自动下载setup.py中的依赖项,其余情况需自行安装。
## 安装指南
### 通过可执行文件安装
1. 从[MindSpore网站下载地址](https://www.mindspore.cn/versions)下载whl包,建议先进行SHA-256完整性校验,执行如下命令安装MindArmour。
```bash
pip install mindarmour-{version}-cp37-cp37m-linux_{arch}.whl
```
2. 执行如下命令,如果没有提示`No module named 'mindarmour'`等加载错误的信息,则说明安装成功。
```bash
python -c 'import mindarmour'
```
### 从源码编译安装
1. 从代码仓下载源码。
```bash
git clone https://gitee.com/mindspore/mindarmour.git -b r0.2
```
2. 在源码根目录下,执行如下命令编译并安装MindArmour。
```bash
cd mindarmour
python setup.py install
```
3. 执行如下命令,如果没有提示`No module named 'mindarmour'`等加载错误的信息,则说明安装成功。
```bash
python -c 'import mindarmour'
```