前言:
由于项目需要,需要了解U3D的ML-Agents插件。预期目的有几点:
- ML-Agents的大致框架
- 各个部分的具体实现细节
在开始研究前,首先我要搭建实验环境,之后运行官方案例。
大致框架:


ML-Agents是一个Unity3D的插件,其包含3个高级组件:学习环境,External Communicator,Python API。
- 学习环境:就是代理存在,并生活的地方。它可以小到是几个简单对象组成的模拟场景,大到可以是一个复杂场景的模拟。
- Python API - 其中包含用于训练(学习某个行为或 policy)的 所有机器学习算法。请注意, 与学习环境不同,Python API 不是 Unity 的一部分,而是位于外部,并通过 External Communicator 与 Unity 进行通信。(ml-agents-master 中 ml-agents 就包含所有的策略算法)
- External Communicator:它将 Unity 环境与 Python API 连接起来。它位于 Unity 环境中。
每个学习环境包含有三个帮助组织场景的附加组件:Academy,Brain,Agent。
- Agent - 它可以被附加到一个 Unity 游戏对象上(场景中的 任何角色),负责生成它的观测结果、执行它接收的动作 并适时分配奖励

本文介绍了Unity3D的机器学习插件ML-Agents,包括其基本框架和组件如学习环境、External Communicator、Python API。详细讲述了如何搭建环境,特别是对于Windows用户和Anaconda用户需要注意的事项。还提到了如何运行3DBallDemo,强调在训练模型时需要在Anaconda环境中使用ml-agents-master和预训练模型进行交互。最后,作者分享了使用TensorFlow_CPU进行计算的经验,并提及TensorFlow_GPU配置的复杂性和遇到的问题。
最低0.47元/天 解锁文章
3609





