人工智能实战 第7作业1 郑浩
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 人工智能实战 2019(北京航空航天大学) |
这个作业的要求在哪里 | 人工智能实战第7次作业(个人)1 |
我在这个课程的目标是 | 了解人工智能的基础理论知识,锻炼实践能力 |
这个作业在哪个具体方面帮助我实现目标 | 学习OpenPAI和NNI的使用 |
作业正文 | 见下文 |
其他参考文献 | 无 |
1.作业要求
- 学习OpenPAI的使用:
学习文档,并提交OpenPAI job,将体验心得形成博客,选题方向可以是:
- 介绍OpenPAI,以及使用心得体会,给出文档或者功能等方面的意见和建议
- 将OpenPAI与其他机器学习平台进行对比或评测
- 学习NNI的使用
学习文档,并使用NNI进行调参或架构调整,将体验心得形成博客,选题方向可以是:
- 介绍NNI,自己的心得体会,为NNI提建议或问题,包括文档功能等
- 将NNI与自己了解的其他自动机器学习工具比较或评测
2.学习OpenPai的使用
OpenPai的介绍
OpenPAI是由微软亚洲研究院和微软(亚洲)互联网工程院联合研发的,支持多种深度学习、机器学习及大数据任务,可提供大规模GPU集群调度、集群监控、任务监控、分布式存储等功能,且用户界面友好,易于操作。使用步骤
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
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信息。
10.当任务状态变成successed时,即完成训练过程。在/Beihang_Couplet/output/目录下,右键单击JobName命名的文件夹,选择Download,下载模型文件。
- 遇到的问题:一开始不知道,修改了new_job.pai.json的文件名,导致无法上传。
3.学习NNI的使用
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上运行experiment
