第二部分
? 原著:https://www.cnblogs.com/CodeGize/p/7674281.html
注意
ml-agent已經升級到v0.3,安裝請參考ml-agent v0.3 win10安裝和實踐
簡介
??????? AI人工智能耍属,更準確地說機器學習(machine learning)最近一年非忱沂酰火熱妒穴。在最近一段時間洞焙,Unity也發(fā)布了一個機器學習的工具吕朵,叫做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實現(xiàn)了前端用unity做表現(xiàn)新翎,后端用Phython進行人工智能演算的系統(tǒng)。
搭建環(huán)境
主要環(huán)境
官方推薦環(huán)境如下
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
下載地址https://www.anaconda.com/download/#windows
??????? 安裝后從開始菜單打開Anaconda Navigator向图,在左側選擇Environments泳秀。在下方菜單中點擊Create創(chuàng)建一個環(huán)境,取名為tensorflow榄攀,python版本選擇為3.6嗜傅。等待環(huán)境創(chuàng)建完成。
安裝Tensorflow及其依賴庫
??????? 從開始菜單中檩赢,打開Anacoda Prompt吕嘀。
??????? 首先激活剛剛創(chuàng)建的環(huán)境,輸入命令
activate tensorflow
??????? 輸入命令安裝Tensorflow
pip install –U tensorflow
??????? 等待一段時間直到安裝完成贞瞒。至此完成了Tensorflow最新版本的安裝偶房。(目前是1.3.0版本)
??????? 后面還要輸入命令,所以暫時不要關閉窗口
安裝ml-agent依賴庫
??????? 完成Tensorflow安裝后憔狞,繼續(xù)在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所需的環(huán)境,輸入命令
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中獲取數(shù)據轩缤。
??????? 菜單中選擇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
運行Jupyter Notebook
??????? 回到Anacoda Prompt命令窗口征椒。注意一定要切換到ml-agent中python所在的目錄娇哆。輸入
jupyter notebook
??????? 運行之后,一方面會出現(xiàn)一個命令行窗口陕靠,另一方面會同時打開一個網頁
??????? 點擊網頁中的PPO.ipynb迂尝。修改其中env_name的值為剛剛編譯出來的exe名字。注意不要加exe剪芥。然后在菜單上選擇Cell->RunAll
??????? 運行后垄开,可以看到剛剛編譯出來的exe被運行起來
總結
??????? 注意幾個點
雖然很多文章表明tensorflow用python3.5比較好,但是沒有深入研究到底有什么影響税肪。
由于Anaconda使用的5.0.0版本溉躲,所以默認使用的是python3.6的版本。在這樣的情況下益兄,如果創(chuàng)建python3.5的環(huán)境锻梳,安裝tensorflow1.2,會出現(xiàn)運行的時候找不到tensorflow的問題净捅。而如果使用python3.6的環(huán)境疑枯,但是安裝tensorflow1.2,會出現(xiàn)tensorflow. TensorLayer找不到的問題蛔六。這些問題花了好多時間排查荆永,需要注意所以最終這里使用的是Anaconda5.0.0,python3.6以及tensorflow1.3
安裝依賴庫的時候需要注意国章,一定要切換好環(huán)境具钥。否則很可能安裝到不同的環(huán)境下。這里安裝前一定會輸入activate tensorflow命令(tensorflow是我創(chuàng)建的環(huán)境名)