Unity_ML-agents basic
科展環境準備及基礎
Author
- Z-hwA
ch1環境設置
在使用Unity之前,我們必須先到官網下載Unity的hub,透過Unity hub我們能夠簡單的安裝各種版本的Unity,以及使用。
A部分 Untiy安裝:
第一步 安裝Unity Hub:
前往Unity download頁面。
連結:https://unity3d.com/get-unity/download
點擊Download Unity Hub,下載完後直接安裝即可。接下來,我們暫時不需要去使用,因此先不用開啟。
第二步 註冊一個Unity帳號:
前往Unity ID介面。
連結:https://id.unity.com/en/conversations/2f5fc0c0-6945-4320-922e-f2bac8fefc2801cf?view=register
在這個頁面註冊一個Unity帳號,這個Unity帳號,能讓我們在Unity Hub中激活我們的授權,從而能夠使用Unity。
第三步 授權:
開啟Unity Hub,點擊右上方的紅色框登入後。在下方會出現訊息,此訊息應該為「Unity尚未授權」等提示。這裡我因為已經授權過了,所以提示授權即將到期。(授權期很短,因此打開經常會收到這樣的訊息,提示授權即將到期。不須去理會,只需要等授權時間到再次授權即可)。
點擊管理授權,進入授權介面,之後如果需要重新授權也是參照以下步驟。
登入後即可選擇啟用新的授權,如果沒有登入的話,就會是灰色的。按下它!!!
接下來,參照我的設定激活授權。按下完成。
完成授權。
第四步 安裝對應版本的Untiy:
接下來,退出喜好設定。
打開Unity Hub左邊的清單上選擇安裝,進入安裝介面,點選新增。並選擇你需要的Unity版本,本教程的建議版本為2020.3.0f1(LTS)。
建議在選擇版本時,選擇帶有(LTS)字樣的版本,這意味著,Unity官方將對這個版本做出長期的維護,而不會閒置它。
請注意,如果你的電腦中沒有裝Visual Studio那麼在第一款Unity安裝時,會多出一個下載Visual Studio的選項,請勾上它。下一節,我們將說到如何安裝Visual Studio
選擇好版本後,按下一步。對我們的Untiy需要用的的環境做配置,這裡我的配置能夠開發(IOS、Android、Windows)的應用。在本次ML-agents的教程中,只需要用到Windows即可。
選擇完成後,便會自動開始下載以及安裝,如果有勾取下載Android Studio的同學們,請到B部分,學習如何配置Android Studio。
B部分 Visual Studio安裝
等到你的Untiy自動安裝到最後的時候,會跳出visual studio的安裝引導,就跟著他做,並選擇下方的配置即可。
如果沒有跳出來,就在開始搜尋visual studio installer點開他,根據他的要求操作。
應該是重開機之後,就會在跳出來,這個時候選擇修改,照著下面的步驟做下去。
第一步 開發環境:
在這裡我們選擇Unity即可。如果有其他的程式語言開發需求,再安裝其他的環境即可。
選好之後,點擊右下角的按鍵即可,因為我的已經安裝好了,所以字樣是修改,你們的應該會不一樣。
接下來,等待Unity以及Visual Studio完成安裝。
C部分 確認以上兩項的安裝都已確實完成,以及腳本代碼補全功能存在
第一步 檢測:
最後的設定,請讓我們打開你下載的Unity,選擇新專案,選擇3D專案,命名,建立。
接下來,會自動進入Unity的基礎介面,在後面的章節會介紹如何使用,
然後,點擊上方的Edit,Preferences,進入Preferences介面。
然後,點擊Extemal Tools,將External Scripts Edito中的預設選項,修改為你的Visual Studio版本,我這裡選擇2019。完成後即可關閉Preferences介面。
現在請讓我們建立一個腳本在Assets中。
在Assets區域中按下滑鼠右鍵,Create,C#Script。雙擊它,會自動打開Visual Studio並可以看見以下預設腳本。
請跟著我打上public ga的字,如果在你輸入的過程中,有跑出我框住的字樣(GameObject),那麼就完成設定了。
如果有其他問題,可以向我提問,或是到以下參考影片中,重新設定一次。
參考影片:https://www.youtube.com/watch?v=Wns-DZbMyIw
恭喜你,完成Unity基礎環境設定,完成了以上步驟的你,現在已經踏上做為一名開發者的第一步階梯了。
D部分 ML-agents環境設置(請在本次範例的專案中進行,優先完成ch2的A部分,開啟一個專案,再回來做這裡)
第零步 簡述:
該部分內容參考了Unity官方英文文檔以及Code Monkey大神在Youtube的”How to use Machine Learning AI in Unity! (ML-Agents)”影片,因此,如果你的英文還不錯,那麼我建議你自己去看英文文檔以及原影片,以防有翻譯上的問題。
第一步 打開終端機:
在開始頁面中,搜尋CMD,並選擇命令提示字元(CMD)。
接下來的指令輸入,部分暫時沒有圖片支援,建議搭配影片食用01:22~10:10。
第二步 進入我們的專案中:
讓終端機,移動到想要用來訓練AI的Unity專案。
在”>”之前的是我們的終端機現在的路徑,請將它移動到你的Unity專案的位置,我的Unity專案名字是AITrain_set。因此,使用cd (路徑),進入。
cd (路徑) //cd C:\Users\Lenovo\AITrain_set
cd .. //可以回到上一層位置
使用時記得目前所在那個位置開始
上方案例中,我們的初位置是C:\Users\Lenovo,因此用cd AITrain_set,否則會報錯。
第三步 python下載:
接著輸入python
如果已經有安裝python,那麼就
exit()
出python就行了。
如果沒有會彈出Microsoft Store的頁面,在那裏下載python3.7就行了
第四步 增加虛擬環境:
python -m venv venv
如果你現在打開你的Unity專案會發現有一個叫做venv的資料夾已經出現了,那就是我們的虛擬環境。
之後,我們所以的環境都是裝在這個虛擬環境中,以防它影響到我們電腦本身其他程式的運作。
第五步 啟動虛擬環境:
venv\Scripts\activate
輸入後,你會看到我們的路徑最前方出現(venv),這樣就完成了。
第六步 升級pip:
pip能幫助我們下載一些額外的功能或模組,在使用之前,我們必須先幫他升級。
python -m pip install --upgrade pip
第七步 下載Torch:
Torch提供給我們運算機器學習的科學框架,或稱之為基本算式等等,我是這麼理解的。
pip install torch==1.7.0 -f https://download.pytorch.org/whl/torch_stable.html
第八步 下載ML-agents:
這就是我們在Unity中使用的AI訓練相關的模組。
pip install mlagents //如果出現錯誤訊息的話,請使用下面這一條
pip install mlagents --use-feature=2020-resolver
第九步 測試是否成功下載:
mlagents-learn --help
如果有很多用法提示出現,且沒有出現ERROR或是不同顏色的錯誤訊息,那就完成了。
出錯解決辦法,我有時間再補上…
第十步 Unity package載入:
打開Unity,在上方的選項中選擇window>package manager,進入該頁面後,選擇右上己的齒輪,選擇advanced project setting,打開該頁面後,勾選enable preview package,回到package manager頁面,找到mlagents 1.6下載。
如果沒有找到1.6版本,可前往下面頁面,照做。
教程(完成安裝com.unity.ml-agentsUnity軟件包就好):
https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Installation.md?fbclid=IwAR3vqQH-y09iYqEEVAPS8IVaND4my-L-nHpXx9X4cCJtr1yxuSFjaHKSxck#advanced-local-installation-for-development
ch2專案建立
現在完成了A、B、C部分的環境配置後,我們可以正式開始建立我們的ml-agents專案,在這裡,我將建立一個最簡單的範例,”追蹤小球”。
如果你的英文能力不錯的話,那麼也可以前往Code Monkey大神在Youtube的”How to use Machine Learning AI in Unity! (ML-Agents)”觀看完整版影片。
影片連結:https://youtu.be/zPFU30tbyKs
A部分 建立3D專案
看我做的影片吧!!!
影片連結(高畫質,字樣很清楚,沒字幕):https://youtu.be/hYrYo-u4los
B部分 開始訓練
第一步 開啟專案:
打開我們建好的Unity專案
第二步 打開CMD:
打開CMD,進入專案底下。
第三步 啟動虛擬環境:
venv\Scripts\activate
第四步 開始訓練:
注意:訓練之前請確保你的Behavior Name和.yaml檔中的名字一樣。
訓練模式為Default
預設訓練檔下載連結:https://drive.google.com/file/d/1AuOIvefzJO_kFDcfKNLIJELsVSeiXtAD/view?usp=sharing
如果你沒有預設的訓練檔(告訴AI怎麼訓練),那麼就會用預設的訓練檔去做
mlagents-learn --run-id=(生成的檔案名字) //mlagents-learn --run-id=Goal
如果你有的話,就使用下面這行
mlagents-learn (yaml檔的路徑) --run-id=(生成的檔案名字) //mlagents-learn config/MoveToGoal.yaml --run-id=Goal
輸入完後,回到Unity按下開始鍵,便會開始訓練了(記得AI的模式要改為Default)
第五步 打開訓練資料面板
再開啟一個CMD,進入虛擬環境後,輸入。
tensorboard --logdir results
再返回的資料中會出現一段網址,複製,打開你的瀏覽器,貼上,就會進入獲取資料的介面了。