第7次作业:OpenPai和NNI
项目 | 内容 |
---|---|
课程 | 人工智能实战2019 |
作业要求 | 第七次作业 |
我的课程目标 | 第一次作业 介绍自己,提出课程项目建议 |
本次作业的作用 | 了解OpenPai和NNI |
我的Github主页 | LeeDua |
OpenPai
介绍
OpenPai是微软开发的在线计算机集群,可用于完成人工智能及其他命令集执行,通过Docker容器和现有的深度学习框架融合。实现了VSCode插件,提供网页客户端。
试用
跟着教程完成一遍基本使用流程,过程截图如下
- 配置
- 上传
- 使用感受
- 配置简单,能较方便地指定模型镜像,使用docker容器兼容各种常见模型,通用性强
- 笔者使用了ss,并没有出现任何网络连接问题
- 能方便管理Job,笔者使用时正在排队,前面还有人在排队。
- 由于笔者对其他线上机器学习平台了解较少,难以给出平行评测。
NNI
介绍
NNI(Neural Network Intelligence)是微软开源的自动化机器学习调参工具。支持分布式调度和自动化超参数调整,具有可视化界面。
使用
- 配置环境完成后(tensorflow,NNI)
- 只需配置参数搜索空间json即可在完成NNI设置
- 之后使用yml运行,将运行平台改成OpenPai即可在线训练
{
"dropout_rate":{"_type":"uniform","_value":[0.1,0.5]},
"conv_size":{"_type":"choice","_value":[2,3,5,7]},
"hidden_size":{"_type":"choice","_value":[32,64,128, 512, 1024]},
"batch_size":{"_type":"choice","_value":[64, 128, 256,512]},
"learning_rate":{"_type":"uniform","_value":[0.0001, 0.001, 0.01,0.1]}
}
- 使用感受:
- 上面的简单使用实际上就是一个grid search,在参数较多的情况下不用写多重循环比较简单,并能提供自动化记录,方便较优超参数的寻找。
- 此外还支持许多自动化调参器,能更智能地在参数空间寻找最优组合。