项目 | 内容 |
---|---|
这个做业属于哪一个课程 | 人工智能实战 2019(北京航空航天大学) |
这个做业的要求在哪里 | 人工智能实战第7次做业(我的)1 |
我在这个课程的目标是 | 了解人工智能的基础理论知识,锻炼实践能力 |
这个做业在哪一个具体方面帮助我实现目标 | 学习OpenPAI和NNI的使用 |
做业正文 | 见下文 |
其余参考文献 | 无 |
OpenPai的介绍
OpenPAI是由微软亚洲研究院和微软(亚洲)互联网工程院联合研发的,支持多种深度学习、机器学习及大数据任务,可提供大规模GPU集群调度、集群监控、任务监控、分布式存储等功能,且用户界面友好,易于操做。python
使用步骤
1.安装Visual Studio Code
2.在Visual Studio Code中安装插件OpenPAI VS Code Client
3.在PAI CLUSTER EXPLORER中点击+添加集群,在上方弹出框中输入集群IP
4.填写集群配置
5.打开HDFS存储目录:在集群中,双击“Open HDFS”,打开HDFS存储目录。
6.打开存储界面。(此教程已为在hdfs上建立了/Beihang_Couplet/根目录,并在此目录下建立data/, code/, output/子目录。训练时使用的数据上传至data/目录下,将程序依赖文件上传至code/目录下,训练结果将传回output/目录下)
7.建立couplet_azure文件夹并在其中添加如下文件:
init.py : 用于调用filetrans.py
filetrans.py:实现hdfs和docker container之间的数据传输操做。主要实现数据download和upload
run_samples.py:实现整个训练过程,包括下载数据,训练模型,上传结果模型
train.sh: 训练模型的脚本命令
8.双击Create Job Config配置文件,在配置文件中,单机鼠标右键,选择Submit Job to PAI Cluster。
9.提交任务后,PAI Client会在右下角提示Open Web Portal,点击可打开OpenPAI的web portal,查看任务的运行状态。在stdout中可查看运行log信息。linux
10.当任务状态变成successed时,即完成训练过程。在/Beihang_Couplet/output/目录下,右键单击JobName命名的文件夹,选择Download,下载模型文件。web
NNI介绍
NNI (Neural Network Intelligence) 是自动机器学习(AutoML)的工具包。 它经过多种调优的算法来搜索最好的神经网络结构和(或)超参,并支持单机、本地多机、云等不一样的运行环境。NNI是一个自动调参工具,支持本地运行或OpenPAI上运行,支持Win10,linux和MacOS三种系统。
其特色有:
1. 安装简洁:经过pip命令就能完成安装;
2. 支持私有部署,用本身的计算资源就能进行自动机器学习;
3. 支持分布式调度:NNI 能够在单机上进行试验,还支持多种分布式调度平台,如经过 SSH 控制多台 GPU 服务器协同完成试验,或经过OpenPAI, Azure, Kubernetes等在独立的 Docker 中运行;
4. 对超参搜索的底层支持:大部分自动机器学习服务与工具的服务都是针对于图片分类等特定的任务。而NNI经过让用户提供训练代码和超参搜索范围, 依靠NNI内置算法和训练服务来搜索最佳的超参和神经架构,NNI为有必定模型训练经验的用户提供更加通用的调参方式,便于用户作出更多尝试、决策和加入思考,并完整参与整个训练过程;
5. 随库自带众多实例和流行的调参算法;
6. 架构简洁、对开发和扩展及其友好。算法
NNI的使用步骤
1.安装tensorflow和NNI,NNI能够经过在PowerShell运行python -m pip install --upgrade nni来安装
2.使用json文件来定义超参的搜索空间
3.用.yml来运行,并在OpenPAI上运行experimentdocker