人工智能實戰2019 - 第7次做業(1) - 王鈰弘

項目 內容
課程 人工智能實戰2019
做業要求 第7次做業
課程目標 學習人工智能基礎知識
本次做業對個人幫助 學習使用OpenPAI和NNI
參考文獻 Train models on OpenPAINeural Network Intelligence

OpenPAI


簡介

爲了解決基礎架構模塊的構建、部署、管理和優化,讓人工智能領域的研發人員把研究和開發的重心放在創新上,微軟亞洲研究院建立OpenPAI — 深度定製和優化的人工智能集羣管理平臺。經過Docker容器和現有的深度學習框架融合,可做爲VScode插件,提供網頁客戶端。python

使用過程

依照參考教程完成一遍基本使用流程,過程截圖以下。git

  • 配置
{
    "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)的工具包。它經過多種調優算法來搜索最好的神經網絡結構和超參,並支持單機、本地多機、雲等不一樣運行環境。github

  • 友好的交互界面: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便可實如今線訓練

心得體會

  • 配置環境較爲繁瑣,參考教程的某些細節寫得不清楚
  • 在參數較多的狀況下,不須要寫多重循環,並提供可視化記錄,便於調優超參
  • 因爲筆者沒有使用過其餘機器學習平臺,故不作出對比評測
相關文章
相關標籤/搜索