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 可用的最新版本。
配置 Unity Package下载 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# SDK
- com.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 项目,导入 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 PackagePython 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
看到这个长得像寄吧的奇怪图案,说明安装成功~



