ML-Agents學習筆記二:UNITY實例工程簡介

ML-Agents 是一個開源項目,使游戲和模擬場景能夠作為訓練智能代理的環境。它提供最先進算法的實現(基于 PyTorch),使游戲開發者和愛好者能夠輕松訓練 2D、3D 和 VR/AR 游戲的智能代理。研究人員還可以使用提供的簡單易用的 Python API 來使用強化學習、模仿學習、神經進化或任何其他方法來訓練代理。


機器學習系列:
ML-Agents學習筆記一:環境搭建
ML-Agents學習筆記二:UNITY實例工程簡介
ML-Agents學習筆記三:Pyramids demo 詳解
ML-Agents學習筆記四:使用強化學習訓練模型
ML-Agents學習筆記五:使用TensorBoard 觀察訓練
……

AI小白系列:
AI小白篇一:Anaconda+Pycharm搭建深度學習環境
AI小白篇二:使用anaconda搭建TensorFlow環境
AI小白篇三:Tensorflow首項
AI小白篇四:Tensorflow的開源案例實踐1
AI小白篇五:Tensorflow的開源案例實踐2
AI小白篇六:Tensorflow的開源案例實踐3
……


上文已經介紹了,如何搭建一個ML-Agents的開發環境,接下來,我們進入主題,開始利用demo來學習,如何利用ML-Agents進強化學習訓練。

1、ML-Agents工具包目錄

在我們下載的工具包中,包含一個 Unity Project 的目錄,

如果你熟悉Unity工程的話,很明顯能看出來這是個unity的工程,上文也提到,這個是ml-agents 的unity demo,

image-20200605201548636.png

包含幾個若干個示例,突出顯示工具包的各種特性,這里將挑選其中一個,訓練一個代理,并將訓練好的模型嵌入到Unity環境中的端到端過程。

2、用Unity加載Demo

  • 運行 Unity Hub

  • 在項目對話框中, 點擊添加

image-20200605203546747.png
  • 在項目窗口中,進入工具包的project目錄,打開即可
image-20200605203627967.png
  • 打開工程后,我們選擇 pyramids 這個demo
image-20200605204037183.png
  • 雙擊 pyramids場景,點擊播放,就能看到一個方形頭在追著一個一個的彩色目標進行撞擊
image-20200605204425573.png

你會發現,它很少走冤枉路,這個就利用ML-Agents預先訓練好的模型(.onnx 文件,存放在TFModels目錄下),應用到實際場景的推理。

image-20200606165824638.png

.onnx 是 Open Neural Network Exchange (ONNX) 格式的文件擴展名。ONNX 是一個開放的格式,用于深度學習模型的跨平臺互操作。它由微軟和 Facebook 于 2017 年共同開發,旨在為不同的深度學習框架提供一個統一的模型表示形式,使得模型可以在不同的框架之間進行轉換和共享。

3、Unity環境簡介

這里介紹一下ML—Agents 的Unity環境,它包含一個或多個Agent對象的場景,包括Agent與之交互的其他實體。

在打開pyramids場景后,您可能會注意到的第一件事是,它包含了多個Agent訓練迷宮AreaPB,而不是一個。

image-20200606153056198.png

打開每個AreaPB, 你會發現他們都具有相同的GameObject及掛載相同的腳本, 其實他就是AreaPB的一個拷貝。

image-20200606171003333.png

所以,場景中的每個Agent訓練迷宮都包含一個獨立的agent,它們都有相同的行為,這樣16個Agent同時開工,并行進行訓練的,加速訓練。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。