Unity ML-agents 一、初次嘗試


前言

曾在高二寒假的時候,跟表哥在外面玩,當時他問我有沒有想過以后要做什么,我愣了一下,回答不上來。是的,從沒想過以后要做什么,只是一直在完成學校、老師安排的任務,於是那之后半年,我一直在思考,大學要學什么。在大二下期中之后,我覺得自己還是對游戲更感興趣,便想到以后想做游戲。於是,高考后填志願,填的都是計算機專業。在大一的時候,自學了一段時間的 Unity,到大二在實驗室接觸強化學習之后,就想着用 RL 來做游戲 AI,但后來一直在做數據挖掘相關的內容,基本上以參加比賽為主。直到去年參加上海的谷歌開發者節,了解到 ML-agents 之后,就十分的想嘗試。

然后由於疫情,直到現在還在家里咸魚,前段時間一邊咸魚一邊投簡歷,奈何自己水平太低又偏偏想投算法崗,直到現在也沒有幾次面試機會 orz。最近就想繼續當年未完成的 Unity 的學習,順便學習 ML-agents,回到原點,重新出發。

初試 ML-agents

環境配置

既然要嘗試,肯定免不了環境配置
目前我的環境為:

  1. Win10
  2. Tensorflow 2.0
  3. ML-agents 0.15.0
  4. Unity 2019.3.1f1
    關於 Tensorflow 2.0 的安裝,參考我之前的博客,Unity 的安裝,推薦先下載 Unity Hub,通過 Unity Hub 可以管理不同版本的 Unity,下載戳這里

ML-agents 的安裝有兩種方式
一是直接 pip

pip install mlagents

二是從官方 github 中 clone 整個項目,然后 cd 到目錄中

pip install -e ./ml-agents-envs
pip install -e ./ml-agents

到這里,環境配置就算完成了

跑個 Demo 先吧

在 Unity Hub 中導入剛剛從 github 上 clone 的項目

選擇 Unity 版本之后打開

然后打開 3DBall 這個場景

點擊運行的話可以直接看到效果

接着,開始嘗試自己訓練,打開命令行,進入到之前 clone 下來的項目目錄中,並在目錄中創建一個名為 summaries 的文件夾

然后輸入

mlagents-learn config/trainer_config.yaml --run-id=test --train

在出現圖標之后,切換到 Unity 運行項目,就可以看見開始訓練了

可以看出來一開的效果是很差的,完全控制不好,這次訓練大概訓練 40w+ 步,到后面就很穩了

注:項目目錄中盡量不要出現中文,下午在嘗試的時候一直報錯,后來更改目錄之后發現成功了,不清楚是不是路徑中有中文的原因
報錯內容

 "The Unity environment took too long to respond. Make sure that :\n"
mlagents_envs.exception.UnityTimeOutException: The Unity environment took too long to respond. Make sure that :
         The environment does not need user interaction to launch
         The Agents are linked to the appropriate Brains
         The environment and the Python interface have compatible versions.

訓練完成后,我們可以在 models 目錄下看到剛剛訓練好的模型,重命名一下,然后把模型拖到 TFModel 目錄中

接着打開 prefabs 中的 3DBall,點擊其中的 agent,然后將 Behavior 改成我們剛剛拖到 TFModel 目錄中的模型

點擊運行,發現控制的十分穩定,跟一開始差不多。至此,初試完畢。

小節

這里我們安裝配置了 ML-agnets 的相關環境,並運行了個 Demo 來熟悉了遍流程,后面將開始嘗試自己搭建環境,訓練 AI,也不知道能不能搗鼓出來,23333。


免責聲明!

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



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