ml-agent v0.3 win10安裝和實踐 ML-Agent:經過TF#使用訓練完成的模型數據

前言

        近段時間,ml-agent升級到了v0.3版本,作了一些變動,致使以前的文檔《ml-agent v0.2:Win10下環境安裝》部份內容沒法在ml-agent v0.3中使用。最主要的是ppo.ipynb文件移除,致使沒法用ppo.ipynb進行訓練。因此這裏進行從新整理。php

參考文檔

軟件安裝

推薦的環境

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

一、克隆ml-agent

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

二、安裝Visual Studio/Unity3d

        安裝略過python

三、安裝Anaconda 64位

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

四、安裝ml-agent依賴庫

        在開始菜單中打開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。此時不用關閉這個窗口。

五、編譯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

六、開始訓練

        注意,訓練方法和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實踐

相關文章
相關標籤/搜索