一、环境配置如下:
1.TensorFlow 2.0.1
2.CUDA v10.0
3.cuDNN v7.6.5
4.ML-Agent 0.15.0
二、实现步骤
1.链接ML-Agents库 通过修改项目Package中的manifest文件,新增增加库名称和对应的库地址
"com.unity.ml-agents": "file:*这里填库地址*/com.unity.ml-agents"
2.实现场景,基础的小球、平板和目标
3.实现小球的RollAgent脚本
(1)引入命名空间,MLAgents和MLAgents.Sensors,并将该方法继承于Agent
(2)重写AgentReset方法,描述重置模型的过程:
(3)重写CollectObservations方法,描述模型的训练参数:
这一步很关键,想采用哪些参数去训练模型,这需要对实际情况进行考虑,一下采用了这8个参数3+3+2,对sensor增加这些参数
(4)重写AgentAction方法,描述Agent如何使用训练结果以及奖励和惩罚的设置:
这里设置vectorAction为连续值,并且有两个参数
(5)可选:重写Heuristic方法进行手动测试
(6)对ML库中的mlagents\config\trainer_config.yaml进行设置训练参数
(7)Anaconda命令行输入mlagents-learn config/trainer_config.yaml --run-id=RollerBall-1 --train提交训练
(8)运行Unity开始训练