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版本。

mlag配置vlanif mlag配置要求_深度学习


要下载两个文件:

点击 Unity Installer 进行下载,该文件是Unity的安装程序。

点击 Unity Hub 进行下载,该文件可以让多个Unity版本共存(即使你不想安装它,在第一次打开Unity软件后也会要求你安装它)

安装流程

Unity安装:

(从参考连接中粘的,详细见参考链接)

双击 UnityDownloadAssistant-版本号.exe 进行软件安装

点击按钮 Next>

mlag配置vlanif mlag配置要求_tensorflow_02

进入协议许可界面,勾选同意,点击按钮 Next>

mlag配置vlanif mlag配置要求_深度学习_03

进入选择组件界面。

mlag配置vlanif mlag配置要求_机器学习_04

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安装+激活
普通安装就好了,打开后先登录或注册。

初始安装是没有许可证的,接下来选择右上方的激活许可证,选择个人版本

mlag配置vlanif mlag配置要求_tensorflow_05

mlag配置vlanif mlag配置要求_深度学习_06

两个选项都可以选择,但是个人推荐的是我不以专业身份使用Unity,
然后确认激活即可,之后许可证过期之后,可以根据这个步骤重新激活,就目前情况来看试用版目前可以一直使用的

在Hub中可以直接下载Unity,更加方便,但只能下载比较新的几个版本。

ML-Agents下载与环境配置

文件下载

下载地址

我下的是当前的最新版,Release 4
注意自己的下载路径,后续训练要用到
注意:下载后的文件不要放在中文路径下,我因为这个,最终端口通信没反应,找了大半天的原因TAT

环境配置

1.安装Anaconda

我已经有了,此步略。

2.在Anaconda中创建ML-agent环境
conda create -n ml-agents python=3.6

结果:

mlag配置vlanif mlag配置要求_python_07

3.激活项目环境
activate ml-agents
4.安装Tensorflow
pip install tensorflow==1.7.1
5.安装ML-Agent扩展工具
pip install mlagents
6.安装环境依赖

首先在cmd中找到之前的下载安装路径并激活ml-agents环境

mlag配置vlanif mlag配置要求_python_08


(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,可以看到场景。

mlag配置vlanif mlag配置要求_mlag配置vlanif_09


mlag配置vlanif mlag配置要求_深度学习_10


(4)配置环境

1.Edit > Project Settings > Player

勾选Run in Background

Display Resolution Dialog设置为Disabled.

mlag配置vlanif mlag配置要求_深度学习_11


2.File > Build Settings

勾选Development Build

点击Add Open Scenes,加入当前环境

点击Build,新建一个文件夹保存

mlag配置vlanif mlag配置要求_深度学习_12

8.开始训练

(1)检测1-6步是否安装成功

命令行激活环境,并输入

mlagents-learn

如果任意路径此命令都不会出现错误提示,代表安装成功。

你应该会看到如下画面

mlag配置vlanif mlag配置要求_机器学习_13


(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强制覆盖上一次训练结果。
结果:

mlag配置vlanif mlag配置要求_深度学习_14


Unity中在3DBall页面点击Play运行,应该会看到:

mlag配置vlanif mlag配置要求_python_15


我之前这步一直没有反应,是因为我的文件路径有中文。Unity中训练画面,训练的时候动得特别快:

mlag配置vlanif mlag配置要求_mlag配置vlanif_16


可以通过在命令行里Ctrl+C来终止训练

9. 查看训练结果

终止训练后,训练结果会保存到:ml-agents-release_4/results/<behavior_name>/<behavior_name>.nn

运行结果会提示你训练的.nn文件保存至哪里

mlag配置vlanif mlag配置要求_tensorflow_17


mlag配置vlanif mlag配置要求_python_18


然后,我们把此文件命名为3DBall_New.cnn,把此文件拖入Unity此路径下 :Project/Assets/ML-Agents/Examples/3DBall/TFModels/

mlag配置vlanif mlag配置要求_tensorflow_19


按下图所示替换,然后再次运行游戏场景即可(注意要替换预制体中的而不是游戏场景中的)。

mlag配置vlanif mlag配置要求_深度学习_20


把模型拖过去

mlag配置vlanif mlag配置要求_mlag配置vlanif_21


替换完成训练结果

mlag配置vlanif mlag配置要求_mlag配置vlanif_22


这时候点击play,就是你自己训练模型的结果了。

之后学习怎么用它创建自己的环境,大家有没有什么好的教学资料推荐呢~

参考链接

官方配置文档ML-Agents配置视频