ML-Agents环境配置(2020.7.28)
- ML-Agents环境配置
- Unity 安装
- 安装流程
- ML-Agents下载与环境配置
- 文件下载
- 环境配置
- 1.安装Anaconda
- 2.在Anaconda中创建ML-agent环境
- 3.激活项目环境
- 4.安装Tensorflow
- 5.安装ML-Agent扩展工具
- 6.安装环境依赖
- 7.启动项目
- 8.开始训练
- 9. 查看训练结果
- 参考链接
ML-Agents环境配置
最近在学强化学习,从周博磊老师的强化学习纲要课程中看到了ML-Agents,挺有意思的,试试效果。环境配置花了一天,写个博客记录一下。
版本:
系统:win10
Unity Version:2018.3.14
ML-Agents Version:Release 4 ,July 15, 2020
tensorflow:1.7.1
python:3.6
Unity 安装
Unity个人版免费,放心下载。
中国增强版Unity官网:地址 下载需要注册,建议安装2017及其以上的版本,我下载了2018.3.14版本。
要下载两个文件:
点击 Unity Installer 进行下载,该文件是Unity的安装程序。
点击 Unity Hub 进行下载,该文件可以让多个Unity版本共存(即使你不想安装它,在第一次打开Unity软件后也会要求你安装它)
安装流程
Unity安装:
(从参考连接中粘的,详细见参考链接)
双击 UnityDownloadAssistant-版本号.exe 进行软件安装
点击按钮 Next>
进入协议许可界面,勾选同意,点击按钮 Next>
进入选择组件界面。
Unity 版本号 ,首次下载必须勾选,它是一个编译器。
Microsoft Visual Studio Community 版本号 ,一个开发工具集,建议使用,用来编写C#代码。
如果电脑上已安装了VS或者想用其他IDE编写代码则无需勾选,在Unity软件的设置中可以改变默认编译工具。
Android Build Support ,允许导出安卓应用程序包(APK)
iOS Build Support ,允许导出Apple程序应用文件(IPA)
以上建议勾选,其他的都和字面意思一样,不过就是导出的适用平台不同而已,按需勾选即可。
如果以后想补充安装组件,仍和初始安装的流程一致,只不过只要勾选你想要的组件就好了,其他的不要勾选。
Unity install folder ,选择安装路径,哪里都可以
Specify location of files downloaded during installation ,放哪里都可以,记得位置就好,一般存放的是安卓支持工具、iOS支持工具等小文件。
我在安装过程中,安装VS2017出错,我选择了跳过,目前没影响使用。
安装完成后不用着急打开Unity,还要下载Unity Hub。
Unity Hub安装+激活
普通安装就好了,打开后先登录或注册。
初始安装是没有许可证的,接下来选择右上方的激活许可证,选择个人版本
两个选项都可以选择,但是个人推荐的是我不以专业身份使用Unity,
然后确认激活即可,之后许可证过期之后,可以根据这个步骤重新激活,就目前情况来看试用版目前可以一直使用的
在Hub中可以直接下载Unity,更加方便,但只能下载比较新的几个版本。
ML-Agents下载与环境配置
文件下载
下载地址
我下的是当前的最新版,Release 4
注意自己的下载路径,后续训练要用到
注意:下载后的文件不要放在中文路径下,我因为这个,最终端口通信没反应,找了大半天的原因TAT
环境配置
1.安装Anaconda
我已经有了,此步略。
2.在Anaconda中创建ML-agent环境
conda create -n ml-agents python=3.6
结果:
3.激活项目环境
activate ml-agents
4.安装Tensorflow
pip install tensorflow==1.7.1
5.安装ML-Agent扩展工具
pip install mlagents
6.安装环境依赖
首先在cmd中找到之前的下载安装路径并激活ml-agents环境
(1)配置相关环境一
cd ml-agents
pip install -e ./
(2)配置相关环境二(别忘了返回路径)
cd ..
cd ml-agents-envs
pip install -e ./
全部成功就没有问题了。
7.启动项目
(1)打开Unity
(2)打开新工程
Release 4下的工程文件是:ml-agents-release_4\Project
(3)在Unity下打开project面板的Assets/ML-Agents/Examples/3DBall/Scenes/,双击3DBall,可以看到场景。
(4)配置环境
1.Edit > Project Settings > Player
勾选Run in Background
Display Resolution Dialog设置为Disabled.
2.File > Build Settings
勾选Development Build
点击Add Open Scenes,加入当前环境
点击Build,新建一个文件夹保存
8.开始训练
(1)检测1-6步是否安装成功
命令行激活环境,并输入
mlagents-learn
如果任意路径此命令都不会出现错误提示,代表安装成功。
你应该会看到如下画面
(2)键入安装路径,开始训练
mlagents-learn config/ppo/3DBall.yaml --run-id=3DBall --train
官方最新的release doc给的训练指令为
mlagents-learn --env=<env_name> --run-id=
此命令并非训练指令,如需训练请在结尾加上–train
mlagents-learn --env=<env_name> --run-id= --train
同样
是训练的路径,一般默认config/ppo/xxx.yaml
<env_name>(可选填)关于Unity中环境搭配(类似Anaconda中环境搭配)
是训练结果的名称,不同的训练要修改run-id,否则直接–train会提示你命名重复,可以用–force强制覆盖上一次训练结果。
结果:
Unity中在3DBall页面点击Play运行,应该会看到:
我之前这步一直没有反应,是因为我的文件路径有中文。Unity中训练画面,训练的时候动得特别快:
可以通过在命令行里Ctrl+C来终止训练
9. 查看训练结果
终止训练后,训练结果会保存到:ml-agents-release_4/results/<behavior_name>/<behavior_name>.nn
运行结果会提示你训练的.nn文件保存至哪里
然后,我们把此文件命名为3DBall_New.cnn,把此文件拖入Unity此路径下 :Project/Assets/ML-Agents/Examples/3DBall/TFModels/
按下图所示替换,然后再次运行游戏场景即可(注意要替换预制体中的而不是游戏场景中的)。
把模型拖过去
替换完成训练结果
这时候点击play,就是你自己训练模型的结果了。
之后学习怎么用它创建自己的环境,大家有没有什么好的教学资料推荐呢~
参考链接
官方配置文档ML-Agents配置视频