目录
ML-Agents 官方文档翻译(ML-Agent 1.9.1,Unity 2018-2020)
首先确定可用 ML-Agents Unity Package 版本,此处笔者用的 Unity 2018
查 Unity 文档可知,Unity 2018 可以支持的最高版本是 1.9.1 (此版本支持 Unity 2018 - 2020)
ML-Agents 的 ChangeLog 也明确说了 2.0.0 之后的 Unity Package 只支持 Unity 2019 及以上版本
查阅 ML-Agents 文档,Release 16
版本对应Unity Package 1.9.1
和Python Package 0.25.1
,是 Unity 2018 可用的最新版本。
下载 ML-Agents 并运行示例工程
下载 ML-Agents 并切换到对应版本
git clone https://github.com/Unity-Technologies/ml-agents
cd ml-agents
git checkout release_16
可以看到两个 Unity Package: com.unity.ml-agents
和com.unity.ml-agents.extensions
com.unity.ml-agents
包含将集成到您的 Unity 项目中的 Unity C# SDKcom.unity.ml-agents.extensions
包含一部分的实验性 C#/Unity 组件。com.unity.ml-agents.extensions
直接依赖于com.unity.ml-agents
用 Unity 打开 ml-agents/Project 工程,在 Assets/Example 目录下有 Unity ML-Agents Toolkit 自带的示例环境
我们打开其中的 Assets/ML-Agents/Examples/3DBall/Scenes/3DBall
一个平衡球任务,AI 的目标是可能长时间地平衡头上的球。
这个示例工程已经配置好了预训练模型,我们直接点击运行:
能跑么?能跑就是好库!
配置 Unity Package
我们也可以新建一个 Unity 项目,导入 ML-Agents Package:
- 点击顶部菜单栏
Window
->Package Manager
- 在
Package Manager
窗口中单击+
按钮。 - 选择
Add package from disk...
- 导航到
com.unity.ml-agents
文件夹 - 选择
package.json
文件
如果 Package Manager 窗口没有+
按钮,也可以手动导入:
- 拷贝 ml-agents/com.unity.ml-agents 到新工程的 Packages 目录下
- 修改新工程 Packages/manifest.json,额外添一行
"com.unity.ml-agents": "file:com.unity.ml-agents",
ML-Agent Unity Package 的配置至此讲解完了,我们再来看 Python 环境配置。
配置 Python Package
Python Package 用于 AI 训练,一些古老的中文教程要求配 Tensorflow 后端。
但实际在 ML-Agents Release 13
(Unity Package 1.8.0
/Python Package 0.24.0
) 中,Tensorflow Trainer 已经被移除了。
新版 ML-Agents 的 Trainer 是基于 pytorch 的,是基于 pytorch 的,是基于 pytorch 的!
至于 Python 和 pytorch 版本可以参考工程目录 ml-agents/ml-agents/setup.py,此处我们以 Python 3.6/3.7 + pytorch 1.7.0 CPU 版为例:
pip3 install torch==1.7.0 torchvision==0.8.1
pip3 install mlagents==0.25.1
网速慢可以换豆瓣源
pip3 install torch==1.7.0 torchvision==0.8.1 -i https://pypi.douban.com/simple
pip3 install mlagents==0.25.1 -i https://pypi.douban.com/simple
另外推荐安装netron
用于查看 onnx 模型结构(pip install netron
)
安装完成后命令行启动:
mlgents-learn --force
看到这个长得像寄吧的奇怪图案,说明安装成功~