近段時間,ml-agent升級到了v0.3版本,作了一些變動,致使以前的文檔《ml-agent v0.2:Win10下環境安裝》部份內容沒法在ml-agent v0.3中使用。最主要的是ppo.ipynb文件移除,致使沒法用ppo.ipynb進行訓練。因此這裏進行從新整理。php
從Github網站上https://github.com/Unity-Technologies/ml-agents克隆(下載)ml-agent,代碼,放在任意位置下。(本文放在D:\ml-agent)html
安裝略過python
Anaconda內置了Phython3 64位和Jupyter notebook以及其餘便利的功能,因此仍是選擇安裝Anaconda簡化整個Phython的過程。下載地址https://www.anaconda.com/download/#windows。安裝略過(本文安裝在F盤)。安裝完成後利用Anaconda的Anaconda Navigator建立一個環境(這裏環境名爲tensorflow),Phython版本選擇3.6。git
在開始菜單中打開Anacoda Prompt,在命令行中輸入一下命令來激活剛剛建立的環境github
activate tensorflow算法
輸入命令切換到ml-agent所在的目錄中python目錄的位置。好比ml-agent安裝目錄爲D:\Git\ml-agent,則輸入windows
cd D:\Git\ml-agent\pythonapp
若是你的Anaconda不是安裝在ml-agent目錄相同的磁盤,那麼須要切換到ml-agen所在的磁盤。好比這裏Anaconda的安裝目錄爲F盤,ml-agent安裝目錄爲D:\ml-agent,則須要切換到D盤,輸入post
D:網站
而後開始安裝Demo所需的環境,輸入命令
pip install .
注意,不要遺漏最後的點號。等待安裝完成便可。該命令會安裝全部的依賴庫,包括tensorflow。此時不用關閉這個窗口。
使用Unity2017打開ml-agent下unity-environment文件夾。
打開Assets\ML-Agents\Examples\3DBall目錄下的3DBall場景文件。在場景中選擇Ball3DAcademy下的Ball3DBrain物體,將TypeOfBrain修改成External,表示從Tensorflow中獲取數據。
菜單中選擇File->Build Setting,添加當前所在場景。(能夠勾選Development Build以便查看輸出)
點擊PlayerSeting,檢查設置
Resolution and Presentation -> 勾選Run in Background
Resolution and Presentation -> Display Resolution Dialog設置爲disable
回到Build Setting面板,點擊Build,編譯到ml-agent的python目錄中。名爲3dball.exe
注意,訓練方法和ml-agent v0.2不一樣。v0.2使用Jupyter notebook運行ppo.ipynb文件。可是v0.3改成使用命令行的方法。
咱們回到Anacoda Prompt,輸入如下命令:
python learn.py 3dball --run-id=test --train
其中
若是這這些命令參數感興趣,請參考Training ML-Agents
因爲訓練的Step爲5.0e4(5*10的4次方),若是用cpu算比較慢,能夠暫時修改超參數配置文件trainer_config.yaml,將Ball3DBrain下增長一行max_steps: 2.0e4(注意,因爲該文件採用yaml格式,對文件的編碼格式和空格要求很是嚴格,若是異常,將沒法進行訓練。max前面有4個空格,不是tab。冒號後面有一個空格,整個文件採用UTF8編碼)。
訓練結果數據保存在models\test\下,使用bytes文件請參考ML-Agent:經過TF#使用訓練完成的模型數據
訓練的結果視頻:Unity ml-agent v0.3實踐