ml-agent v0.3 win10安裝和實踐


前言

        近段時間,ml-agent升級到了v0.3版本,做了一些變更,導致之前的文檔《ml-agent v0.2:Win10下環境安裝》部分內容無法在ml-agent v0.3中使用。最主要的是ppo.ipynb文件移除,導致無法用ppo.ipynb進行訓練。所以這里進行重新整理。

參考文檔

軟件安裝

推薦的環境

  • Phython3 64位(ml-agent v0.3不再支持Phython2)
  • Jupyter notebook
  • TensorFlow
  • Visual Studio 2017
  • Unity3d 2017.1(本文使用)/2018.1

1、克隆ml-agent

        從Github網站上https://github.com/Unity-Technologies/ml-agents克隆(下載)ml-agent,代碼,放在任意位置下。(本文放在D:\ml-agent)

2、安裝Visual Studio/Unity3d

        安裝略過

3、安裝Anaconda 64位

        Anaconda內置了Phython3 64位和Jupyter notebook以及其他便利的功能,所以還是選擇安裝Anaconda簡化整個Phython的過程。下載地址https://www.anaconda.com/download/#windows。安裝略過(本文安裝在F盤)。安裝完成后利用Anaconda的Anaconda Navigator創建一個環境(這里環境名為tensorflow),Phython版本選擇3.6。

4、安裝ml-agent依賴庫

        在開始菜單中打開Anacoda Prompt,在命令行中輸入一下命令來激活剛剛創建的環境

activate tensorflow

        輸入命令切換到ml-agent所在的目錄中python目錄的位置。比如ml-agent安裝目錄為D:\Git\ml-agent,則輸入

cd D:\Git\ml-agent\python

        如果你的Anaconda不是安裝在ml-agent目錄相同的磁盤,那么需要切換到ml-agen所在的磁盤。比如這里Anaconda的安裝目錄為F盤,ml-agent安裝目錄為D:\ml-agent,則需要切換到D盤,輸入

D:

        然后開始安裝Demo所需的環境,輸入命令

pip install .

        注意,不要遺漏最后的點號。等待安裝完成即可。該命令會安裝所有的依賴庫,包括tensorflow。此時不用關閉這個窗口。

5、編譯Unity程序

        使用Unity2017打開ml-agent下unity-environment文件夾。

        打開Assets\ML-Agents\Examples\3DBall目錄下的3DBall場景文件。在場景中選擇Ball3DAcademy下的Ball3DBrain物體,將TypeOfBrain修改為External,表示從Tensorflow中獲取數據。

image

        菜單中選擇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

image

6、開始訓練

        注意,訓練方法和ml-agent v0.2不同。v0.2使用Jupyter notebook運行ppo.ipynb文件。但是v0.3改為使用命令行的方法。

        我們回到Anacoda Prompt,輸入以下命令:

python learn.py 3dball --run-id=test --train

        其中

  • learn.py包含了大量的ml算法,包括ppo。
  • 3dball就是剛剛我們用unity生成的exe文件的名稱。
  • --run-id=test可以不寫,只是聲明這次訓練的id。比如可以用tensorboard來看
  • --train表示聲明執行的是訓練模式

        如果這這些命令參數感興趣,請參考Training ML-Agents

        由於訓練的Step為5.0e4(5*10的4次方),如果用cpu算比較慢,可以暫時修改超參數配置文件trainer_config.yaml,將Ball3DBrain下增加一行max_steps: 2.0e4(注意,由於該文件采用yaml格式,對文件的編碼格式和空格要求非常嚴格,如果異常,將無法進行訓練。max前面有4個空格,不是tab。冒號后面有一個空格,整個文件采用UTF8編碼)。

image

        訓練結果數據保存在models\test\下,使用bytes文件請參考ML-Agent:通過TF#使用訓練完成的模型數據

image

       訓練的結果視頻:Unity ml-agent v0.3實踐


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM