人工智能实战2019 - 第7次作业(1) - 王铈弘

项目 内容
课程 人工智能实战2019
作业要求 第7次作业
课程目标 学习人工智能基础知识
本次作业对我的帮助 学习使用OpenPAI和NNI
参考文献 Train models on OpenPAINeural 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即可实现在线训练

心得体会

  • 配置环境较为繁琐,参考教程的某些细节写得不清楚
  • 在参数较多的情况下,不需要写多重循环,并提供可视化记录,便于调优超参
  • 由于笔者没有使用过其他机器学习平台,故不做出对比评测
posted @ 2019-05-13 17:46  WangShihong  阅读(179)  评论(0编辑  收藏  举报