項目 | 內容 |
---|---|
這個做業屬於哪一個課程 | 人工智能實戰 2019(北京航空航天大學) |
這個做業的要求在哪裏 | 人工智能實戰第7次做業(我的)1 |
我在這個課程的目標是 | 瞭解人工智能的基礎理論知識,鍛鍊實踐能力 |
這個做業在哪一個具體方面幫助我實現目標 | 學習OpenPAI和NNI的使用 |
做業正文 | 見下文 |
其餘參考文獻 | 無 |
OpenPai的介紹
OpenPAI是由微軟亞洲研究院和微軟(亞洲)互聯網工程院聯合研發的,支持多種深度學習、機器學習及大數據任務,可提供大規模GPU集羣調度、集羣監控、任務監控、分佈式存儲等功能,且用戶界面友好,易於操做。python
使用步驟
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信息。linux
10.當任務狀態變成successed時,即完成訓練過程。在/Beihang_Couplet/output/目錄下,右鍵單擊JobName命名的文件夾,選擇Download,下載模型文件。web
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上運行experimentdocker