前言:以前覺得機器學習要應用於游戲AI,還遠得很。最近看到一些資料后,突發興致試着玩了玩Unity機器學習,才發覺機器學習占領游戲AI的可能性和趨勢。

使用Unity ML-Agents Toolkit訓練的可愛柯基犬Puppo | Unity官方開發者社區
- 機器學習訓練出的游戲AI,模型可能數據龐大,但是這完全可以部署於服務器。
- 目前絕大部分游戲AI都是人工制作,工作量龐大。機器學習可以解放生產力,放台主機訓練讓其自己培養出更實的AI。
ML-Agents介紹
Unity Machine Learning Agents (ML-Agents) 是一款開源的 Unity 機器學習插件, 使得我們得以在游戲環境和模擬環境中訓練智能 agents。 它可以使用 reinforcement learning(強化學習)、imitation learning(模仿學習)、neuroevolution(神經進化)等機器學習方法,通過簡單易用的 Python API進行控制,對 Agent 進行訓練。
此外一提,本文之所以在Windows環境來運行機器學習,是因為對於窮苦學生黨來說,尤其是疫情期間剩下一台裝不下雙系統的筆記本,是無奈的選擇。因此如果有條件,盡量還是推薦使用Linux來跑機器學習。
Unity ML-Agents Toolkit Github項目
由於ML-Agents Toolkit項目還在不斷更新,還沒有一個比較穩定的版本,因此應當留意github項目的版本更新文檔有什么新改動。本文目前是使用第三個正式發行版的ML-Agents Toolkit項目。
環境配置
環境示例:Windows 10 + Unity2018.4.1f + Anaconda3 + python 3.8 + CUDA toolkit 10.1 + cuDNN 7.6.5 + tensorflow 2.1.0
要注意各軟件版本應當互相匹配,特別是CUDA、cuDNN和tensoflow有版本對應。
1.下載/安裝Unity(2018.4或更高版本)
2.下載/安裝python(3.7或更高版本)
3.下載/安裝/配置Anaconda3
3.1 下載並安裝Anaconda3
https://www.anaconda.com/distribution/#windows


3.2 更改環境變量
編輯系統變量的"Path"變量,添加下面這些新路徑:
%UserProfile%\Anaconda3\Scripts
%UserProfile%\Anaconda3\Scripts\conda.exe
%UserProfile%\Anaconda3
%UserProfile%\Anaconda3\python.exe
4.配置GPU訓練環境
4.1 下載並安裝CUDA 10.1通用並行計算架構
https://developer.nvidia.com/cuda-10.1-download-archive-update2
4.2 下載 Nvidia cuDNN 7.6.5深度神經網絡的GPU加速庫(需要注冊Nvdia賬號)
https://developer.nvidia.com/cudnn
4.3 添加cuDNN庫到CUDA
將下載好的cuDNN庫cuda目錄的三個文件夾(bin,include,lib),復制覆蓋到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1文件夾里。

4.4 再次更改環境變量
添加系統變量:"CUDA_HOME",變量值為
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
編輯系統變量"Path",添加如下路徑:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64
系統變量"Path"所有添加的路徑如紅框圈起來:
4.5 配置GPU訓練環境
首先要打開Anaconda Prompt窗口 (可以通過在windows開始菜單搜索)

打開之后,首先要創建一個新的Conda環境,輸入如下命令(根據自己具體python版本):
conda create -n ml-agents python=3.8
中間會有問要不要安裝新包,輸入y並回車就完事了。
為了使用這個環境,還得先激活它,輸入如下命令:
activate ml-agents
輸入后會看到左邊()里的內容變成ml-agents
然后為了安裝tensorflow,輸入如下命令:
pip uninstall tensorflow
pip install tensorflow-gpu
安裝成功界面如下:
5.下載並安裝 Unity的ml-agents插件
(如果重新打開了一個新的Prompt窗口記得得重新激活ml-agents)
下載方法:
- 可以直接去github克隆 Unity ml-agents 項目下來 https://github.com/Unity-Technologies/ml-agents
- 或者執行如下git命令:
git clone --branch latest_release https://github.com/Unity-Technologies/ml-agents.git
然后在Anaconda Promptc窗口定位到你clone項目的目錄ml-agents文件夾的ml-agents-envs文件夾(本文clone項目路徑在C:\project),並使用pip install -e .命令。
cd C:\project\ml-agents\ml-agents-envs
pip install -e .
之后,同樣地,對項目目錄ml-agents文件夾里的ml-agents文件夾使用pip install -e .命令。
cd C:\project\ml-agents\ml-agents
pip install -e .
如果提示找不到setup.py,說明定位路徑不對,要檢查一下。
結語
看到這里就已經證明該配置好的配置好了,終於可以關掉電腦,去泡杯咖啡好好休息一下了。如果還想繼續的話,不妨看看下一篇博文。
下一篇博文將介紹一個Unity ml-agents 強化學習的入門案例: