Unity ML-Agents 项目教程
1. 项目的目录结构及介绍
Unity ML-Agents 项目的目录结构如下:
Unity_ML_Agents/
├── Assets/
│ ├── ML-Agents/
│ │ ├── Examples/
│ │ ├── Plugins/
│ │ ├── Resources/
│ │ ├── Scripts/
│ │ ├── Sensors/
│ │ ├── ThirdParty/
│ │ ├── Training/
│ │ ├── Editor/
│ │ ├── LICENSE.md
│ │ ├── README.md
│ ├── Scenes/
│ ├── Scripts/
│ ├── Materials/
│ ├── Prefabs/
├── ProjectSettings/
├── Packages/
├── README.md
目录介绍
- Assets/: 包含所有项目资源,如脚本、场景、预制体等。
- ML-Agents/: 包含 ML-Agents 的核心文件和示例。
- Examples/: 包含多个示例场景和项目,展示如何使用 ML-Agents。
- Plugins/: 包含第三方插件。
- Resources/: 包含资源文件,如模型、纹理等。
- Scripts/: 包含 ML-Agents 的核心脚本。
- Sensors/: 包含传感器脚本。
- ThirdParty/: 包含第三方库。
- Training/: 包含训练相关的脚本和配置。
- Editor/: 包含 Unity 编辑器扩展脚本。
- Scenes/: 包含项目的主要场景。
- Scripts/: 包含项目的自定义脚本。
- Materials/: 包含项目的材质文件。
- Prefabs/: 包含项目的预制体。
- ML-Agents/: 包含 ML-Agents 的核心文件和示例。
- ProjectSettings/: 包含项目的设置文件,如玩家设置、编辑器设置等。
- Packages/: 包含项目的包管理文件。
2. 项目的启动文件介绍
项目的启动文件通常是 Assets/Scenes/
目录下的主场景文件。例如,Assets/Scenes/MainScene.unity
可能是项目的启动场景。
启动文件介绍
- MainScene.unity: 这是项目的主场景,包含了游戏或模拟的主要环境和角色。启动项目时,Unity 会加载这个场景。
3. 项目的配置文件介绍
项目的配置文件通常位于 Assets/ML-Agents/Training/
目录下。主要的配置文件是 trainer_config.yaml
。
配置文件介绍
- trainer_config.yaml: 这个文件包含了训练智能体的配置参数,如学习率、批量大小、奖励函数等。以下是一个示例配置:
default:
trainer: ppo
batch_size: 1024
beta: 5.0e-3
buffer_size: 10240
epsilon: 0.2
hidden_units: 128
lambd: 0.95
learning_rate: 3.0e-4
max_steps: 5.0e5
memory_size: 256
normalize: true
num_epoch: 3
num_layers: 2
time_horizon: 64
sequence_length: 64
summary_freq: 10000
reward_signals:
extrinsic:
strength: 1.0
gamma: 0.99
配置文件参数介绍
- trainer: 使用的训练器类型,如 PPO(Proximal Policy Optimization)。
- batch_size: 每次训练的批量大小。
- beta: 熵正则化的权重。
- buffer_size: 经验回放缓冲区的大小。
- epsilon: PPO 算法的 epsilon 参数。
- hidden_units: 隐藏层的单元数。
- lambd: GAE(Generalized Advantage Estimation)的 lambda 参数。
- learning_rate: 学习率。
- max_steps: 最大训练步数。
- memory_size: 记忆大小。
- normalize: 是否对输入进行归一化。
- num_epoch: 每次更新的迭代次数。
- num_layers: