ML-Agents学习笔记二:UNITY实例工程简介

ML-Agents 是一个开源项目,使游戏和模拟场景能够作为训练智能代理的环境。它提供最先进算法的实现(基于 PyTorch),使游戏开发者和爱好者能够轻松训练 2D、3D 和 VR/AR 游戏的智能代理。研究人员还可以使用提供的简单易用的 Python API 来使用强化学习、模仿学习、神经进化或任何其他方法来训练代理。


机器学习系列:
ML-Agents学习笔记一:环境搭建
ML-Agents学习笔记二:UNITY实例工程简介
ML-Agents学习笔记三:Pyramids demo 详解
ML-Agents学习笔记四:使用强化学习训练模型
ML-Agents学习笔记五:使用TensorBoard 观察训练
……

AI小白系列:
AI小白篇一:Anaconda+Pycharm搭建深度学习环境
AI小白篇二:使用anaconda搭建TensorFlow环境
AI小白篇三:Tensorflow首项
AI小白篇四:Tensorflow的开源案例实践1
AI小白篇五:Tensorflow的开源案例实践2
AI小白篇六:Tensorflow的开源案例实践3
……


上文已经介绍了,如何搭建一个ML-Agents的开发环境,接下来,我们进入主题,开始利用demo来学习,如何利用ML-Agents进强化学习训练。

1、ML-Agents工具包目录

在我们下载的工具包中,包含一个 Unity Project 的目录,

如果你熟悉Unity工程的话,很明显能看出来这是个unity的工程,上文也提到,这个是ml-agents 的unity demo,

image-20200605201548636.png

包含几个若干个示例,突出显示工具包的各种特性,这里将挑选其中一个,训练一个代理,并将训练好的模型嵌入到Unity环境中的端到端过程。

2、用Unity加载Demo

  • 运行 Unity Hub

  • 在项目对话框中, 点击添加

image-20200605203546747.png
  • 在项目窗口中,进入工具包的project目录,打开即可
image-20200605203627967.png
  • 打开工程后,我们选择 pyramids 这个demo
image-20200605204037183.png
  • 双击 pyramids场景,点击播放,就能看到一个方形头在追着一个一个的彩色目标进行撞击
image-20200605204425573.png

你会发现,它很少走冤枉路,这个就利用ML-Agents预先训练好的模型(.onnx 文件,存放在TFModels目录下),应用到实际场景的推理。

image-20200606165824638.png

.onnx 是 Open Neural Network Exchange (ONNX) 格式的文件扩展名。ONNX 是一个开放的格式,用于深度学习模型的跨平台互操作。它由微软和 Facebook 于 2017 年共同开发,旨在为不同的深度学习框架提供一个统一的模型表示形式,使得模型可以在不同的框架之间进行转换和共享。

3、Unity环境简介

这里介绍一下ML—Agents 的Unity环境,它包含一个或多个Agent对象的场景,包括Agent与之交互的其他实体。

在打开pyramids场景后,您可能会注意到的第一件事是,它包含了多个Agent训练迷宫AreaPB,而不是一个。

image-20200606153056198.png

打开每个AreaPB, 你会发现他们都具有相同的GameObject及挂载相同的脚本, 其实他就是AreaPB的一个拷贝。

image-20200606171003333.png

所以,场景中的每个Agent训练迷宫都包含一个独立的agent,它们都有相同的行为,这样16个Agent同时开工,并行进行训练的,加速训练。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。