人工智能实战2019 - 第7次作业(1) - 王铈弘
项目 | 内容 |
---|---|
课程 | 人工智能实战2019 |
作业要求 | 第7次作业 |
课程目标 | 学习人工智能基础知识 |
本次作业对我的帮助 | 学习使用OpenPAI和NNI |
参考文献 | Train models on OpenPAI,Neural Network Intelligence |
OpenPAI
简介
为了解决基础架构模块的构建、部署、管理和优化,让人工智能领域的研发人员把研究和开发的重心放在创新上,微软亚洲研究院创建OpenPAI — 深度定制和优化的人工智能集群管理平台。通过Docker容器和现有的深度学习框架融合,可作为VScode插件,提供网页客户端。
使用过程
依照参考教程完成一遍基本使用流程,过程截图如下。
- 配置
{
"jobName": "wangshihong_test_couplet",
"image": "tobeyqin/pai.build.cu80:my",
"codeDir": "$PAI_DEFAULT_FS_URI/$PAI_USER_NAME/$PAI_JOB_NAME",
"dataDir": "$PAI_DEFAULT_FS_URI/Data/$PAI_JOB_NAME",
"outputDir": "$PAI_DEFAULT_FS_URI/Output/$PAI_JOB_NAME",
"taskRoles": [
{
"name": "test_001",
"taskNumber": 1,
"cpuNumber": 2,
"gpuNumber": 1,
"memoryMB": 8192,
"command": "pip3 --quiet install future && cd $PAI_JOB_NAME && chmod +x train.sh && python3 run_samples.py"
}
]
}
- 运行结果
心得体会
- 结合VScode客户端,配置简单,对于第一次使用此类机器学习平台的新手友好
- Web的UI界面简洁,管理Job方式清晰
- 云部署算力强劲,为用户提供高效的服务
- 由于笔者没有使用过其他机器学习平台,故不做出对比评测
NNI
简介
NNI(Neural Network Intelligence)是自动机器学习(AutoML)的工具包。它通过多种调优算法来搜索最好的神经网络结构和超参,并支持单机、本地多机、云等不同运行环境。
- 友好的交互界面:NNI提供命令行工具和图形化的控制界面
- 全面的框架支持:支持多种Python语言的深度学习框架(Pytorch、TensorFlow等)
- 丰富的调优算法:NNI集成多种Tuner(调参器)和Assessor(评估器),用户可以自由选择
- 多样的训练模式:NNI支持本地、远程、分布式等多种方式进行模型的参数调优
使用过程
- 通过配置参数搜索空间的json文件完成NNI设置,借助yml文件运行代码
{
"dropout_rate":{"_type":"uniform","_value":[0.1,0.5]},
"conv_size":{"_type":"choice","_value":[2,3,5,7]},
"hidden_size":{"_type":"choice","_value":[124, 512, 1024]},
"batch_size":{"_type":"choice","_value":[50, 250, 500]},
"learning_rate":{"_type":"uniform","_value":[0.0001, 0.1]}
}
- 修改运行平台为OpenPAI即可实现在线训练
心得体会
- 配置环境较为繁琐,参考教程的某些细节写得不清楚
- 在参数较多的情况下,不需要写多重循环,并提供可视化记录,便于调优超参
- 由于笔者没有使用过其他机器学习平台,故不做出对比评测