README_HIP.md 3.3 KB
Newer Older
pan's avatar
pan committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<p align="center">
<img src="docs/img/nni_logo.png" width="300"/>
</p>

**NNI (Neural Network Intelligence)** 是一个帮助用户 **自动** 进行特征工程,神经网络架构搜索,超参调优以及模型压缩的轻量且强大的工具包。

NNI 管理自动机器学习 (AutoML) 的 Experiment,**调度运行** 由调优算法生成的 Trial 任务来找到最好的神经网络架构和/或超参,支持**各种训练环境**,如本机,远程服务器,OpenPAI,Kubeflow,基于 K8S 的 FrameworkController(如,AKS 等), DLWorkspace (又称 DLTS), AML (Azure Machine Learning), AdaptDL(又称 ADL) ,和其他的云平台甚至 混合模式 。 DLTS),AML (Azure Machine Learning)AdaptDL(又称 ADL) ,和其他的云平台甚至混合模式。""

## **使用场景**
* 想要在自己的代码、模型中试验不同的自动机器学习算法。
* 想要在不同的环境中加速运行自动机器学习。
* 想要更容易实现或试验新的自动机器学习算法的研究员或数据科学家,包括:超参调优算法,神经网络搜索算法以及模型压缩算法。
* 在机器学习平台中支持自动机器学习。

## **安装**

### **安装方式**

#### **使用pip方式安装**

pan's avatar
pan committed
21
nni whl包下载目录:[光合社区/资源工具/AI生态包/nni/dtk23.04](https://cancon.hpccube.com:65024/4/main/nni/dtk23.04),根据python版本选择对应nni的whl包。
pan's avatar
pan committed
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

```bash
pip3 install nni*(下载的nni的whl包)
```

#### **使用源码编译方式安装**

编译之前,需要先安装对应版本python,安装相应的三方包依赖项,并配置DTK环境变量(以Centos7.x为例)。

```bash
# 安装三方包的源
yum install  epel-release  -y

# 安装相关依赖项
yum install libffi-devel -y
yum install openssl-devel openssl -y
yum -y install sqlite-devel

# 若python内未包含相关项,需基于上面安装的三方包重新源码编译python,再配置python环境
pip3 install protobuf==3.20
pip3 install wheel
pip3 install jupyter
pip3 install jupyterlab==3.0.9
python3 -m pip install --upgrade pip setuptools

# 下载DTK并配置环境变量
pan's avatar
pan committed
48
#DTK tar包下载目录:光合社区//资源工具/DCU Toolkit/DTK23.04(https://cancon.hpccube.com:65024/1/main/DTK-23.04),根据系统选择对应DTK的tar包,并解压至/opt目录。
pan's avatar
pan committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
export ROCM_PATH=/opt/dtk-23.04
source /opt/dtk-23.04/env.sh
```

编译nni

```bash
# 下载源码 
git clone -b dtk23.04-v2.9 http://developer.hpccube.com/codes/aicomponent/nni.git
cd nni
export NNI_RELEASE=2.9
python3 setup.py clean --all
python3 setup.py build_ts
python3 setup.py bdist_wheel -p manylinux1_x86_64
```

安装nni
pan's avatar
pan committed
66
67

```bash
pan's avatar
pan committed
68
# nni的whl包会在./dist文件夹生成
pan's avatar
pan committed
69
pip3 install ./dist/nni*
pan's avatar
pan committed
70
```
pan's avatar
pan committed
71
72
73
74
75
76
77
78
79
80
81
82
83
84

### **验证安装**

tensorflow

```bash
nnictl create --config nni/examples/trials/mnist-tfv1/config.yml
nnictl create --config nni/examples/trials/mnist-tfv2/config.yml
```
pytorch

```bash
nnictl create --config nni/examples/trials/mnist-pytorch/config.yml
``` 
pan's avatar
pan committed
85
在命令行中等待输出 INFO: Successfully started experiment!。 此消息表明 Experiment 已成功启动。 通过命令行输出的 Web UI url 来访问 Experiment 的界面。 此消息表明 Experiment 已成功启动。 通过命令行输出的 Web UI url 来访问 Experiment 的界面。
pan's avatar
pan committed
86
87
88
89
90

## **License**

The entire codebase is under [MIT license](LICENSE)