ML-Agents学习笔记三、训练模型

上文简单的介绍了一个ML-Agents的示例 pyramids,并且查看了示例的成果:预先训练好的模型会根据实际场景进行推理,让代理者神奇在迷宫中躲避各种障碍,不走弯路顺利找到目标。

虽然demo中提供了预先训练好的.nn文件,但是,您肯定会非常好奇,我该如何训练它呢,我们自己创建的其它场景都需要怎么玩呢。

在本节中,我们将演示如何使用ML-Agents Python包中的强化学习算法来完成这一任务。我们提供了一个方便的命令mlagents-learn,它接受用于配置培训和推理阶段的参数。

1、训练模型

  • 打开命令或终端窗口,cd 到 ml-agents 的存储库的文件夹。
    cd D:\develop\AI\MachineLearning\ml-agents-master
    D:

注意:如果遵循默认安装,那么应该能够从任何目录运行mlagents-learn

  • 运行
mlagents-learn /config/Pyramids.yaml --run-id=Pyramids

config/ppo/Pyramids.yaml 是工具包提供的默认训练配置文件的路径。
config/ppo 文件夹包含所有示例环境(包括Pyramids)的培训配置文件。
run-id 是此训练课程的唯一名称。

当屏幕上显示“Start training by pressing the Play button in the Unity Editor”的信息时,您可以在Unity中按Play键开始在编辑器中进行训练。

启动训练后,可以看到小方人在迷宫中开始寻宝啦,再回到终端窗口,可以看到当前训练情况

请注意,随着训练的进行,打印在屏幕上的平均奖励值是如何增加的。这是培训成功的积极信号。

当训练结束后,会有如下生成 Pyramids.nn文件的提示:

2. 训练结果

培训过程完成后,培训过程将保存模型(Saved Model消息指示),您可以将其添加到Unity项目中,并与兼容的Agent(生成模型的Agent)一起使用。

注意:Saved Model消息出现 后,不要只是关闭Unity窗口。等待培训过程关闭窗口,或者Ctrl+C在命令行提示符下按。如果您手动关闭窗口,则.onnx包含训练模型的文件不会导出到ml-agents文件夹中。

如果您早已退出训练Ctrl+C并想恢复训练,请再次运行相同的命令,并附加以下--resume标志:

mlagents-learn /config/Pyramids.yaml --run-id=Pyramids --resume

你训练的策略模型将自动生成在results//.onnx这里。

为的名称Behavior Name相对应的模型的agents。

3、查看训练成果

Pyramids.nn文件就是我们的训练成果,我们可以把它拷贝到Unity 工程的TFModels目录替换原来的模型,运行,就能看到我们的训练成果了。

注意,一般会给自己的训练模型加个日期,如:Pyramids-20200607.nn,再拷贝过去,这样就能切换模型(切换方法见下图),看看自己的训练成果与官方提供的训练模型的差距,差距不是一般的小,哭!

你可能感兴趣的:(ML-Agents学习笔记三、训练模型)