unity插件ml-agent的安装和使用

感觉机器学习将占领游戏AI的趋势和可能性。

Unity Machine Learning Agents (ML-Agents) 是一款开源的 Unity 插件, 使得我们得以在游戏环境和模拟环境中训练智能 agents。
它可以使用 reinforcement learning(强化学习)、imitation learning(模仿学习)、neuroevolution(神经进化)或其他机器学习方法,
通过简单易用的 Python API进行控制,对 Agent 进行训练。

环境配置:

官方安装教程:https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

Anaconda3安装下载地址:https://www.anaconda.com/distribution/#windows

Python下载最新版本(或者python3.6):https://www.python.org/downloads/

下载安装完成后不要忘记配置Anaconda3。

此电脑(右键)>>属性>>高级系统设置>>环境变量>>Path。其它的根据官方的教程就可以了,虽然会比较慢(慢慢来嘛)。unity插件ml-agent的安装和使用_第1张图片

 

键盘点击Windows+R 弹框栏输入cmd,召唤出命令框如下:

输入 activate base 点击回车

输入conda create -n ml-agents python=3.6,如果有”(y/[n])?“,输入y点击回车

unity插件ml-agent的安装和使用_第2张图片

为了使用这个环境,还得先激活它,输入如下命令:

输入 activate ml-agents 点击回车

然后为了安装tensorflow,输入如下命令:(为了契合版本,这里选择的是1.7.1):

输入 pip uninstall tensorflow 点击回车

输入 pip install tensorflow-gpu==1.7.1 点击回车

unity插件ml-agent的安装和使用_第3张图片

 

下载并安装 Unity的ml-agents插件

下载方法:可以直接去github克隆 Unity ml-agents 项目下来 https://github.com/Unity-Technologies/ml-agents

下载之后解压压缩包,

弹框下输入activate ml-agents 激活配置好的ml-agents环境,

然后

输入cd... 

直到追寻到解压Unity ml-agents插件的根目录

输入 pip install -e .  点击回车

unity插件ml-agent的安装和使用_第4张图片

之后会下载很多东西,耐心等候就可以了。至此所有的配置环境就完成了

 

具体的使用方法:

根据官方的案例来说一下:https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Create-New.md

根据上面的官方案例说明,在unity中搭建好学院(Agent训练环境)。

测试环境是否完成:首先把Use Heuristic勾选上。

unity插件ml-agent的安装和使用_第5张图片

另一个测试确保你的环境和Python API能够按预期工作。

unity插件ml-agent的安装和使用_第6张图片

我把插件放到了D盘下,操作就是上面所示。上边的操作的前提是你通过Anaconda3启动了配置好的ml-agents环境,也可以通过在命令框输入activate ml-agents激活配置好的ml-agent环境。

unity插件ml-agent的安装和使用_第7张图片

 

如果测试环境没有问题的话就可以,进行下一步,通过Unity外部的PathyAI训练,Agent了。

注意:在运行前一定不要忘记把测试环境使勾选的把Use Heuristic取消。

在运行unity之前需要,激活ml-Agent调用Pathy命令:mlagents-learn config/config.yaml --run-id=RollerBall-1 --train

其中mlagents-learn 是指令

其中config/config.yaml 是所选则的超惨配置表

其中--run-id=RollerBall-1 --train选择训练结果所存放文件夹的名称

输出出现下面的结果,点击Unity的运行,就开始训练的Agent了:

 

之后在插件目录...\....\ml-agents-master\models中就可以找到训练出的结果,然后把.nn文件放到unity中就可以使用了。

你可能感兴趣的:(游戏编程,C#面向对象)