对《ml-agent:Win10下环境安装》更新

由于案例训练方法和ml-agent v0.2不同。v0.2使用Jupyter notebook运行ppo.ipynb文件。但是v0.3改为使用命令行的方法。

所以对博文《ml-agent:Win10下环境安装》做进一步更新,跳过安装(安装过程不做修改),从第五步开始。如下所示。

5、编译Unity程序

        使用Unity2017打开ml-agent下unity-environment文件夹。

        打开Assets\ML-Agents\Examples\3DBall目录下的3DBall场景文件。在场景中选择Ball3DAcademy下的Ball3DBrain物体,将TypeOfBrain修改为External,表示从Tensorflow中获取数据。

image

        菜单中选择File->Build Setting,添加当前所在场景。(可以勾选Development Build以便查看输出)

        点击PlayerSeting,检查设置

        Resolution and Presentation -> 勾选Run in Background

        Resolution and Presentation -> Display Resolution Dialog设置为disable

        回到Build Setting面板,点击Build,编译到ml-agent的python目录中。名为3dball.exe

image

6、开始训练

        注意,训练方法和ml-agent v0.2不同。v0.2使用Jupyter notebook运行ppo.ipynb文件。但是v0.3改为使用命令行的方法。

        我们回到Anacoda Prompt,输入以下命令:(先进入到python目录)

python learn.py 3dball --run-id=test --train

        其中

  • learn.py包含了大量的ml算法,包括ppo。
  • 3dball就是刚刚我们用unity生成的exe文件的名称。
  • --run-id=test可以不写,只是声明这次训练的id。比如可以用tensorboard来看
  • --train表示声明执行的是训练模式

       如果这这些命令参数感兴趣,请参考Training ML-Agents

       进行训练时,不要关闭,当训练完成时将会自动关闭。

  由于训练的Step为5.0e4(5*10的4次方),如果用cpu算比较慢,可以暂时修改超参数配置文件trainer_config.yaml,将Ball3DBrain下增加一行max_steps: 2.0e4

(注意,由于该文件采用yaml格式,对文件的编码格式和空格要求非常严格,如果异常,将无法进行训练。max前面有4个空格,不是tab。冒号后面有一个空格,整个文件采用UTF8编码)。

image

        训练结果数据保存在models\test\下,使用bytes文件请参考ML-Agents:通过TF#(插件)使用训练完成的模型数据

image

 

 

以上更新内容来自CodeGize的个人博客(大牛)。在博文《ml-agent:Win10下环境安装》中有大牛原文链接。

posted @ 2018-05-03 09:29  IT_yanghui  阅读(617)  评论(0编辑  收藏  举报