ml-agent:Win10下環境安裝

簡介

        AI人工智能,更準確地說機器學習(machine learning)最近一年非常火熱。在最近一段時間,Unity也發佈了一個機器學習的工具,叫做ml-agent。

        英文介紹如下:

  https://blogs.unity3d.com/cn/2017/09/19/introducing-unity-machine-learning-agents/

        中文介紹如下:

  http://forum.china.unity3d.com/thread-27837-1-1.html

        工程在Github上的地址如下

  https://github.com/Unity-Technologies/ml-agents

        從代碼結構上看,ml-agent實現了前端用unity做表現,後端用Phython進行人工智能演算的系統。

搭建環境

主要環境

官方推薦環境如下

  • Phython2/3 64位
  • jupyter notebook
  • TensorFlow (1.0+) (Training)
  • Visual Studio 2017
  • Unity3d 2017

隆ml-agent代碼庫

        從Github網站上克隆(下載)ml-agent,代碼,放在任意位置下。

安裝Unity2017.2

        從Unity官網下載Unity2017.2,安裝。

        下載地址https://store.unity.com/cn/download?ref=personal

安裝VS2017

        從微軟官網https://www.visualstudio.com/zh-hans/downloads/下載,運行後選擇需要的模塊。這邊雖然有提供python的相關插件,但是我們選擇後面單獨安裝。

安裝Anaconda

        從Anaconda官網安裝Anaconda5.0.0

2017101501

        下載地址https://www.anaconda.com/download/#windows

        安裝後從開始菜單打開Anaconda Navigator,在左側選擇Environments。在下方菜單中點擊Create創建一個環境,取名爲tensorflow,python版本選擇爲3.6。等待環境創建完成。

2017101502

安裝Tensorflow及其依賴庫

        從開始菜單中,打開Anacoda Prompt。

        首先激活剛剛創建的環境,輸入命令

  activate tensorflow

2017101503

        輸入命令安裝Tensorflow

  pip install –U tensorflow

        等待一段時間直到安裝完成。至此完成了Tensorflow最新版本的安裝。(目前是1.3.0版本)

  後面還要輸入命令,所以暫時不要關閉窗口

  本人知識補充:(安裝時如有提示pip版本低請按照以下步驟解決,沒有報錯可忽略)

  在 “輸入命令安裝Tensorflow 輸入  pip install –U tensorflow”  步驟時,如果你的pip版本不是最新,就會報錯,沒辦法必須是最新版本。

  去pip官網下載最新版解壓到自定義目錄即可,從開始菜單中,打開Anacoda Prompt,進入到解壓後的  pip-10.0.1(我使用的版本)目錄下,

  (同磁盤目錄直接 cd 所在目錄 即可;非同磁盤,C:或D:(所在磁盤)進入磁盤之後cd)

  進入目錄之後, 輸入 python setup.py install 命令進行安裝。安裝之後繼續安裝Tensorflow即可。(補充完)

安裝ml-agent依賴庫

  補充:如下圖所示,此時要退出(tensorflow),回到(base),不然會報錯。

  也就是剛打開Anacoda Prompt命令窗口時(你也可以關掉重新打開Anacoda Prompt),繼續以下步驟。

    

        完成Tensorflow安裝後,繼續在Anacoda Prompt中輸入命令切換到ml-agent所在的目錄中python目錄的位置。比如ml-agent安裝目錄爲D:\Git\ml-agent,則輸入

  cd D:\Git\ml-agent\python

        如果你的Anaconda不是安裝在ml-agent目錄相同的磁盤,那麼需要切換到ml-agen所在的磁盤。比如這裏Anaconda的安裝目錄爲C盤,

  ml-agent安裝目錄爲D:\ml-agent,則需要切換到D盤,輸入 D:

        然後開始安裝Demo所需的環境,輸入命令 pip install .

        注意,注意不要遺漏最後的點號。等待安裝完成即可。此時依然不用關閉這個窗口。

運行

編譯Unity程序

        Unity的ml-agent提供了多幹的demo。這裏嘗試運行3dball這個demo。

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

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

2017101504

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

2017101505

運行Jupyter Notebook

        回到Anacoda Prompt命令窗口。注意一定要切換到ml-agent中python所在的目錄。輸入

jupyter notebook

        運行之後,一方面會出現一個命令行窗口,另一方面會同時打開一個網頁

2017101506

2017101507

        點擊網頁中的PPO.ipynb。修改其中env_name的值爲剛剛編譯出來的exe名字。注意不要加exe。然後在菜單上選擇Cell->RunAll

2017101508

        運行後,可以看到剛剛編譯出來的exe被運行起來

2017101509

總結

        注意幾個點

  • 雖然很多文章表明tensorflow用python3.5比較好,但是沒有深入研究到底有什麼影響。
  • 由於Anaconda使用的5.0.0版本,所以默認使用的是python3.6的版本。在這樣的情況下,如果創建python3.5的環境,安裝tensorflow1.2,會出現運行的時候找不到tensorflow的問題。而如果使用python3.6的環境,但是安裝tensorflow1.2,會出現tensorflow. TensorLayer找不到的問題。這些問題花了好多時間排查,需要注意所以最終這裏使用的是Anaconda5.0.0,python3.6以及tensorflow1.3
  • 安裝依賴庫的時候需要注意,一定要切換好環境。否則很可能安裝到不同的環境下。這裏安裝前一定會輸入activate tensorflow命令(tensorflow是我創建的環境名)

這是我看到的最全面最詳細的ml-agent講解。(只用於學習與知識分享,如有侵權,聯繫刪除。謝謝!)

來自本人的博客園個人博客。源鏈接:http://www.cnblogs.com/yanghui0702/p/yanghui_20180423.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章