Unity ML-Agents 训练包(mlagents)完全指南:安装、mlagents-learn 训练入口与配置文件实战

发布时间:2026/9/21 16:17:35
Unity ML-Agents 训练包(mlagents)完全指南:安装、mlagents-learn 训练入口与配置文件实战 Unity ML-Agents 训练包mlagents完全指南安装、mlagents-learn 训练入口与配置文件实战【免费下载链接】ml-agentsThe Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.项目地址: https://gitcode.com/gh_mirrors/ml/ml-agents本文围绕 Unity ML-Agents Toolkit 的 Python 训练包mlagents展开系统讲解它在整个工具链中的定位、安装方式、mlagents-learn训练命令的完整用法以及训练配置文件YAML中涉及训练器超参数、奖励信号、环境参数随机化、课程学习与自博弈等核心内容的配置方法。读完本文你将掌握如何从零搭建一次基于 Unity 环境的强化学习 / 模仿学习训练任务并能独立排查与调优训练配置。一、mlagents包在 ML-Agents Toolkit 中的定位mlagents是 ML-Agents Toolkit 的 Python 训练端软件包它提供了一套面向 Unity 环境的强化学习Reinforcement Learning与模仿学习Imitation Learning算法。这些算法通过与mlagents_envs包提供的 Python API 交互来驱动训练流程而mlagents_envs负责与 Unity 进程建立通信、收发观测与动作数据详见 Python-LLAPI.md。所有训练算法的统一入口是mlagents-learn命令行工具它是整个训练工作流强化学习、模仿学习、课程学习等的单一访问点具体用法可参考 Training-ML-Agents.md。从仓库源码看该命令行入口定义在 setup.py 的entry_points中entry_points{ console_scripts: [ mlagents-learnmlagents.trainers.learn:main, mlagents-run-experimentmlagents.trainers.run_experiment:main, mlagents-push-to-hfmlagents.utils.push_to_hf:main, mlagents-load-from-hfmlagents.utils.load_from_hf:main, ], ... }可见除了核心的mlagents-learn包还附带了实验批量运行mlagents-run-experiment与 Hugging Face 模型推送/加载mlagents-push-to-hf、mlagents-load-from-hf等辅助命令。二、安装mlagents包安装mlagents包最直接的方式是使用 pippython -m pip install mlagents1.1.0仓库 README 以1.1.0作为示例版本号当前仓库开发版本为1.2.0.dev0见 ml-agents/mlagents/trainers/init.py实际安装时请按需指定版本。建议将版本精确固定以确保与你的mlagents_envs及 Unity 端 SDK 版本匹配。安装前请留意 setup.py 中声明的运行环境约束Python 版本python_requires3.10.1,3.10.12即仅支持 Python 3.10 的指定小版本区间核心依赖torch2.1.1,2.8.0、numpy1.23.5,1.24.0、protobuf3.6,3.21、grpcio1.11.0,1.53.2、pyyaml3.1.0、tensorboard2.14、h5py2.9.0、onnx1.15.0、huggingface_hub0.14等版本一致性mlagents_envs{VERSION}即训练包与环境通信包版本必须严格一致Windows 专属依赖pypiwin32223仅platform_systemWindows时安装。安装完成后可通过mlagents-learn --help验证安装并查看全部命令行参数说明。三、mlagents-learn训练的统一入口mlagents-learn接受一个 YAML 训练配置文件以及一系列命令行参数。配置文件里包含训练所需的全部配置与超参数具体内容取决于场景中的 Agent 和所选训练方法PPO、SAC 或 MA-POCA。超参数取值对训练表现即 Agent 能否学到解决问题的策略有显著影响。基本训练命令mlagents-learn trainer-config-file --envenv_name --run-idrun-identifier其中trainer-config-file训练配置 YAML 的文件路径包含全部超参数下文详述env_name可选包含待训练 Agent 的 Unity 可执行文件名称含路径参见 Learning-Environment-Executable.md。如果不传--env训练将在 Unity Editor 中进行当控制台出现 Start training by pressing the Play button in the Unity Editor 时在 Unity 中点击Play按钮即可开始run-identifier用于标识本次训练结果的唯一名称。查看所有 CLI 选项mlagents-learn --help源码视角训练是如何启动的mlagents-learn的入口实现位于 ml-agents/mlagents/trainers/learn.py调用链为main()调用run_cli(parse_command_line())parse_command_line()注册训练器插件、解析 argparse 参数并通过RunOptions.from_argparse(args)把命令行参数与 YAML 配置统一结构化为RunOptions对象run_cli()打印版本信息ml-agents、mlagents_envs、Communicator API、PyTorch 版本设置日志级别与随机种子seed -1时随机生成run_training()负责校验目录、创建日志目录、加载/初始化模型状态、注册 TensorBoard 写入器、构建SubprocessEnvManager多环境进程管理、创建TrainerController并调用tc.start_learning(env_manager)开始训练。值得注意的细节若指定--resume会从run_logs/training_status.json恢复训练状态若指定--initialize-from则调用setup_init_path为所有 Behavior 设置初始化路径env_path为NoneEditor 模式时port会被置空训练结束含被中断后会依次写入configuration.yaml本次运行完整配置、timers.json计时统计与training_status.json训练状态。四、训练产物与过程监控无论使用哪种训练方法、配置或超参数训练过程都会在results/run-identifier目录下生成三类产物Summaries训练摘要训练过程中持续更新的训练指标用于监控训练表现、辅助调整超参数。可使用 TensorBoard 可视化详见 Using-Tensorboard.mdModels模型文件训练过程中持续更新的模型检查点以及最终模型文件.onnx。最终模型在训练完成或被中断时生成Timers计时文件位于results/run-identifier/run_logs包含训练过程的聚合计时指标各代码块耗时详见 Profiling-Python.md。五、停止、恢复与初始化训练中断训练并保存进度按一次CtrlC等待模型保存完成恢复训练使用--resume标志并指定之前使用的 run ID重跑并覆盖使用--force标志复用同一 run ID覆盖之前生成的产物加载已有模型做推理同时使用--resume与--inference可在 Python 中运行已训练模型的推理若要在 Unity 中推理应使用 Inference Engine参见 Sample.md网络架构变更后的加载如果网络结构变化ML-Agents 只会加载能匹配的部分并忽略其余部分。例如新增奖励信号时旧模型可加载、但新奖励信号从头初始化若修改了hidden_units视觉编码器CNN会被加载而网络主体从头初始化用旧模型初始化新训练通过--initialize-fromrun-identifier旧 run ID实现。适用于环境发生变化、旧模型行为仍优于随机策略的场景。此外mlagents-learn --help输出会提示--load已弃用改用--resume与--train已弃用训练现为默认模式推理请用--inference等历史参数的迁移信息见 learn.py。六、训练配置文件CLI 参数也可以写进 YAML除了独立的命令行参数你还可以把 CLI 参数如--num-envs直接写进训练配置 YAML 中。这些参数按功能分为四组完整默认值与示例见 Training-ML-Agents.md。环境设置Environment settingsenv_settings: env_path: FoodCollector env_args: null base_port: 5005 num_envs: 1 timeout_wait: 10 seed: -1 max_lifetime_restarts: 10 restarts_rate_limit_n: 1 restarts_rate_limit_period_s: 60引擎设置Engine settingsengine_settings: width: 84 height: 84 quality_level: 5 time_scale: 20 target_frame_rate: -1 capture_frame_rate: 60 no_graphics: false检查点设置Checkpoint settingscheckpoint_settings: run_id: foodtorch initialize_from: null load_model: false resume: false force: true train_model: false inference: falseTorch 设置Torch settingstorch_settings: # Device used for training device: cpu七、behaviors训练器的核心配置段配置文件的主体是为场景中每个 Behavior 定义的配置段behaviors。下面是一份启用了 PPO 全部可选功能记忆、行为克隆、好奇心、GAIL、自博弈的完整示例摘自 Training-ML-Agents.mdbehaviors: BehaviorPPO: trainer_type: ppo hyperparameters: # Hyperparameters common to PPO and SAC batch_size: 1024 buffer_size: 10240 learning_rate: 3.0e-4 learning_rate_schedule: linear # PPO-specific hyperparameters beta: 5.0e-3 beta_schedule: constant epsilon: 0.2 epsilon_schedule: linear lambd: 0.95 num_epoch: 3 shared_critic: False # Configuration of the neural network (common to PPO/SAC) network_settings: vis_encode_type: simple normalize: false hidden_units: 128 num_layers: 2 # memory memory: sequence_length: 64 memory_size: 256 # Trainer configurations common to all trainers max_steps: 5.0e5 time_horizon: 64 summary_freq: 10000 keep_checkpoints: 5 checkpoint_interval: 50000 threaded: false init_path: null # behavior cloning behavioral_cloning: demo_path: Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo strength: 0.5 steps: 150000 batch_size: 512 num_epoch: 3 samples_per_update: 0 reward_signals: # environment reward (default) extrinsic: strength: 1.0 gamma: 0.99 # curiosity module curiosity: strength: 0.02 gamma: 0.99 encoding_size: 256 learning_rate: 3.0e-4 # GAIL gail: strength: 0.01 gamma: 0.99 encoding_size: 128 demo_path: Project/Assets/ML-Agents/Examples/Pyramids/Demos/ExpertPyramid.demo learning_rate: 3.0e-4 use_actions: false use_vail: false # self-play self_play: window: 10 play_against_latest_model_ratio: 0.5 save_steps: 50000 swap_steps: 2000 team_change: 100000如果改用 SAC 训练器上述额外功能记忆、行为克隆、好奇心、自博弈的配置保持不变仅需替换trainer_type与 SAC 专属超参数buffer_init_steps、tau、steps_per_update、save_replay_buffer、init_entcoef、reward_signal_steps_per_update参考 Training-ML-Agents.md 中的 SAC 等效配置。课程学习curriculum与环境参数随机化environment parameter randomization的配置不属于behaviors而是放在独立的environment_parameters段中。default_settings为 Behavior 设置默认配置当 Behavior 名称由环境过程化生成、运行时未知或存在大量配置相近的 Behavior 时可在 YAML 中插入default_settings段其格式与单个 Behavior 配置完全一致default_settings: # Same as Behavior configuration behaviors: # Same as above 环境中未在 YAML 中显式列出的 Behavior 将使用default_settingsBehavior 配置中未指定的设置项也会回退到default_settings中的值。八、environment_parameters环境参数、随机化与课程学习environment_parameters段用于在训练期间控制 Unity 模拟中的EnvironmentParameters。例如把名为my_environment_parameter的环境参数固定为3.0behaviors: BehaviorY: # Same as above # Add this section environment_parameters: my_environment_parameter: 3.0在 Unity C# 侧可通过以下代码读取该参数Academy.Instance.EnvironmentParameters.GetWithDefault(my_environment_parameter, 0.0f);环境参数随机化将参数值替换为采样器sampler即可启用随机化。示例包含三个环境参数mass、length和scalebehaviors: BehaviorY: # Same as above # Add this section environment_parameters: mass: sampler_type: uniform sampler_parameters: min_value: 0.5 max_value: 10 length: sampler_type: multirangeuniform sampler_parameters: intervals: [[7, 10], [15, 20]] scale: sampler_type: gaussian sampler_parameters: mean: 2 st_dev: .3设置说明sampler_type该环境参数所用采样器类型的字符串标识sampler_parameters对应sampler_type的参数不同类型的采样器可具有不同的sampler_parameters支持的采样器类型uniform— 均匀采样在给定最小/最大值含端点的区间内均匀采样单个浮点值。参数min_value、max_valuegaussian— 高斯采样从给定均值与标准差的正态分布中采样单个浮点值。参数mean、st_devmultirangeuniform— 多区间均匀采样先按区间相对长度成比例地选出一个区间再从该区间含端点均匀采样单个浮点值可接收任意数量的区间格式为[[区间1_min, 区间1_max], [区间2_min, 区间2_max], ...]。参数intervals。采样器在 Unity 侧的实现位于 com.unity.ml-agents/Runtime/Sampler.cs。训练时直接指定启用随机化的配置即可例如训练 3D Ball 的随机化版本mlagents-learn config/ppo/3DBall_randomize.yaml --run-id3D-Ball-randomize然后通过 TensorBoard 观察进度与指标。课程学习Curriculum为环境参数添加curriculum子段即可启用课程学习。示例包含三个课程MyFirstLesson、MySecondLesson与MyLastLessonbehaviors: BehaviorY: # Same as above # Add this section environment_parameters: my_environment_parameter: curriculum: - name: MyFirstLesson # The - is important as this is a list completion_criteria: measure: progress behavior: my_behavior signal_smoothing: true min_lesson_length: 100 threshold: 0.2 value: 0.0 - name: MySecondLesson # This is the start of the second lesson completion_criteria: measure: progress behavior: my_behavior signal_smoothing: true min_lesson_length: 100 threshold: 0.6 require_reset: true value: sampler_type: uniform sampler_parameters: min_value: 4.0 max_value: 7.0 - name: MyLastLesson value: 8.0每个Lesson有 3 个字段name用户自定义的课程名课程切换时会在控制台显示completion_criteria决定模拟中发生什么后课程视为完成条件满足后进入下一课程最后一个课程无需指定value课程期间环境参数所取的值可以是浮点数或采样器。completion_criteria的各设置项设置说明measure衡量学习进度与课程推进的依据。reward使用获得的奖励衡量progress使用steps/max_steps的比值Elo仅适用于自博弈场景以 Elo 分数作为课程完成衡量标准behavior指定被跟踪的 Behavior场景中可有多个不同名称、处于不同训练阶段的 Behavior该设置让课程只跟踪其中一个threshold决定measure的值达到多少时课程升级min_lesson_length课程切换前必须完成的最少回合数。若measure为reward则取最近min_lesson_length个回合的平均累计奖励与阈值比较注意此均值与打印到控制台的均值不同控制台均值由summary_freq决定。必须非负signal_smoothing是否用历史值加权当前进度衡量值require_reset切换课程时是否需要重置环境默认 false课程学习训练示例使用 Wall Jump 环境的课程学习配置启动训练mlagents-learn config/ppo/WallJump_curriculum.yaml --run-idwall-jump-curriculum仓库中真实的课程配置见 config/ppo/WallJump_curriculum.yaml其中big_wall_height与small_wall_height两个环境参数各自定义了 4 个课程Lesson0 至 Lesson3以progress为衡量、阈值逐级提高。九、训练器与超参数详解选择训练器PPO、SAC 或 MA-POCA后需配置对应的超参数。完整参数表与默认值见 Training-Configuration-File.md以下为要点摘录除非另有说明省略某配置即使用默认值。公共训练器配置设置说明trainer_type默认ppo训练器类型ppo、sac或pocasummary_freq默认50000收集多少经验后生成并显示训练统计决定 TensorBoard 图的粒度time_horizon默认64每个 Agent 在加入经验缓冲前收集的步数到达该值而回合未结束时会用价值估计预测期望回报。较短时间视界偏差更大、方差更小较长则相反。典型范围32-2048max_steps默认500000训练结束前环境或并行环境合计中必须完成的总步数。同 Behavior 的多个 Agent 的步数计入同一个max_steps。典型范围5e5-1e7keep_checkpoints默认5保留的模型检查点最大数量超出后删除最旧的even_checkpoints默认false为 true 时忽略checkpoint_interval按max_steps / keep_checkpoints均匀分布检查点checkpoint_interval默认500000两次检查点之间的经验数检查点保存.onnx到results/init_path默认 None从先前保存的模型初始化训练器旧运行须使用相同训练器配置与同版本 ML-Agents。可传文件名或完整路径多数情况下用--initialize-from更简便threaded默认false允许在更新模型时环境继续步进可提速尤其 SAC自博弈时建议保持falsehyperparameters - learning_rate默认3e-4梯度下降初始学习率训练不稳定、奖励不持续上升时应调小。典型范围1e-5-1e-3hyperparameters - batch_size每次梯度下降迭代的经验数应远小于buffer_size。连续动作建议取千量级纯离散动作取十量级。典型范围PPO 连续512-5120SAC 连续128-1024离散32-512hyperparameters - buffer_sizePPO 默认10240更新前收集的经验数越大更新越稳定SAC 默认50000经验回放缓冲上限。典型范围PPO2048-409600SAC50000-1000000hyperparameters - learning_rate_schedulePPO 默认linear线性衰减至 0SAC 默认constantnetwork_settings - hidden_units默认128全连接层单元数。典型范围32-512network_settings - num_layers默认2隐藏层数。典型范围1-3network_settings - normalize默认false是否对向量观测做基于运行均值/方差的归一化对复杂连续控制问题有益对简单离散问题可能有害network_settings - vis_encode_type默认simple视觉观测编码器simple两层卷积、nature_cnn三层卷积、resnetIMPALA ResNet三层各含两个残差块、match3棋盘游戏优化的小型 CNN、fully_connected无卷积的单全连接层。各编码器有最小观测尺寸限制simple20x20、nature_cnn36x36、resnet15x15、match35x5fully_connected无尺寸限制但表达能力弱network_settings - goal_conditioning_type默认hyper目标观测的条件化方式none将目标观测视为普通观测hyper用 HyperNetwork 生成策略的部分权重参数量大增建议减少hidden_unitsPPO 专属配置设置说明hyperparameters - beta默认5.0e-3熵正则强度越大动作越随机、探索越充分应使熵随奖励上升而缓慢下降。典型范围1e-4-1e-2hyperparameters - epsilon默认0.2新旧策略可接受的差异阈值越小更新越稳定但越慢。典型范围0.1-0.3hyperparameters - beta_schedule默认继承learning_rate_schedule可选linear/constanthyperparameters - epsilon_schedule默认继承learning_rate_schedule可选linear/constanthyperparameters - lambd默认0.95GAE 正则化参数见 GAE 论文低值更依赖当前价值估计高偏差高值更依赖实际奖励高方差。典型范围0.9-0.95hyperparameters - num_epoch默认3梯度下降遍历经验缓冲的轮数batch 越大可适当增大。典型范围3-10hyperparameters - shared_critic默认False策略网络与价值网络是否共享主干处理图像观测时可考虑开启SAC 专属配置设置说明hyperparameters - buffer_init_steps默认0更新策略前预填充缓冲的经验数预填充随机动作有利于探索。典型范围1000-10000hyperparameters - init_entcoef默认1.0训练初始的熵系数SAC 会自动调节熵系数到目标熵该值只决定起点。连续动作典型0.5-1.0离散0.05-0.5hyperparameters - save_replay_buffer默认false退出/重启训练时是否保存并加载经验回放缓冲缓冲可能很大、占磁盘默认关闭hyperparameters - tau默认0.005目标网络更新强度简单问题可增到0.01以加速但牺牲稳定性。典型范围0.005-0.01hyperparameters - steps_per_update默认1Agent 步数/策略更新次数的平均比值典型范围1-20一般取场景中 Agent 数量为佳hyperparameters - reward_signal_steps_per_update默认steps_per_update奖励信号每次更新的步数可结合 GAIL 按论文做法调整MA-POCA 专属配置MA-POCA 使用与 PPO 相同的配置无额外专属参数。注意除外部奖励外的其他奖励信号未经 MA-POCA 大量测试仍可添加使用但效果因场景而异。十、奖励信号与高级训练功能奖励信号reward_signals每个奖励信号至少定义strength与gamma两个参数另加各自专属超参数删除某信号需完全删除其条目且至少要保留一个奖励信号。extrinsic环境奖励strength默认1.0环境奖励的乘数gamma默认0.99未来奖励折扣因子必须严格小于 1典型0.8-0.995curiosity好奇心内在奖励strength默认1.0典型0.001-0.1避免淹没或被环境奖励淹没gamma默认0.99network_settings中hidden_units建议64-256既压缩观测又能区分预期/实际观测learning_rate默认3e-4gail生成对抗模仿学习strength默认1.0示范非最优时应调低如来自人类示范建议保持 0.1 以下典型0.01-1.0gamma默认0.99典型0.8-0.9demo_path必填.demo文件或目录路径learning_rate默认3e-4use_actions默认false是否同时基于观测与动作判别use_vail默认false判别器变分瓶颈提升稳定性但增加训练时间rnd随机网络蒸馏仅 PyTorch 训练器strength默认1.0典型0.001-0.01gamma默认0.99network_settings定义 RND 模型网络learning_rate默认3e-4。仓库示例配置见 config/ppo/PyramidsRND.yamlRND与 config/imitation/ 目录下的 GAIL/行为克隆示例。行为克隆Behavioral Cloning在behavioral_cloning段配置需已录制演示设置说明demo_path必填.demo文件或目录路径strength默认1.0模仿学习相对 PPO 学习率的影响强度。典型0.1-0.5steps默认0BC 生效的训练步数学习率会随步数退火设为 0 表示全程恒定模仿batch_size默认继承训练器batch_sizenum_epoch默认继承训练器num_epochsamples_per_update默认0每次模仿更新的最大样本数演示数据很大时可调低防过拟合0 表示使用全部演示记忆增强RNN/LSTM在network_settings下添加memory段并设置memory_size与sequence_lengthmemory_size默认128必须是 2 的倍数源码 settings.py 会校验该约束典型32-256sequence_length默认64训练经验序列长度过小无法记忆长周期信息过大训练变慢。典型4-128。使用记忆的注意事项LSTM 与连续动作配合不佳建议使用离散动作循环层增加网络复杂度建议使用循环时降低num_layersmemory_size必须能被 2 整除。自博弈Self-Play环境含多 Agent 分队时可启用self_play设置说明save_steps默认20000快照保存间隔trainer steps按 Agent 计。典型10000-100000team_change默认5 * save_steps切换学习队伍的 trainer steps 间隔。典型 4x-10xsave_stepsswap_steps默认10000交换对手策略的 ghost steps 间隔ghost step 指跟随固定策略不学习的 Agent 所走步数。公式(num_agents / num_opponent_agents) * (team_change / x)。典型10000-100000play_against_latest_model_ratio默认0.5对抗最新对手策略的概率。典型0.0-1.0window默认10对手快照滑动窗口大小。典型5-30自博弈奖励信号注意假定轨迹最终奖励对应回合结果1 胜、-1 负、0 平ELO 计算依赖该最终奖励为 1/0/-1。建议从最简单的奖励函数1/-1开始用更多训练轮次弥补奖励稀疏。swap_steps 计算示例2v1 场景team_change200000希望交换 4 次1 个 Agent 的队伍swap_steps (1 / 2) * (200000 / 4) 250002 个 Agent 的队伍swap_steps (2 / 1) * (200000 / 4) 100000队伍人数相等时首项为 1直接总步数 / 期望交换次数即可。十一、并发 Unity 实例训练通过--num-envsn指定并行的 Unity 实例数可选--base-port指定并发实例的起始端口。几点建议Buffer Size多实例并行仍难训练时可增大buffer_size常见做法是乘以num_envs资源约束并发实例受机器资源限制--num-envs请酌情设置结果差异保持超参数不变仅改变--num-envs训练结果与模型通常会变化。十二、配置解析的源码实现细节训练配置的解析与校验集中在 ml-agents/mlagents/trainers/settings.py使用attrcattr进行严格结构化若 YAML 中出现未知键check_and_structure会抛出TrainerConfigErrorThe option X was specified in your YAML file for Y, but is invalid.因此拼写错误会立刻被拦截check_hyperparam_schedules会在未显式指定时把 PPO/POCA 的beta_schedule、epsilon_schedule自动设为learning_rate_schedule的值与文档描述一致NetworkSettings中的默认值hidden_units128、num_layers2、normalizeFalse、vis_encode_typeSIMPLE、memory.sequence_length64、memory.memory_size128、goal_conditioning_typeHYPER与文档中的默认值一一对应ScheduleTypeconstant/linear、EncoderTypefully_connected/match3/simple/nature_cnn/resnet、ConditioningTypehyper/none等枚举直接决定了 YAML 中可接受的值命令行参数与配置文件在RunOptions中合并且cli_utils.py通过StoreConfigFile记录配置文件位置保证配置文件内容与命令行参数保持等价。另外配置文件格式在 0.17.0 → 0.18.0 → 之后的版本间发生过变更。如需转换旧格式的配置文件训练器配置、课程、采样器文件可运行python -m mlagents.trainers.upgrade_config -h查看转换脚本用法。十三、已知限制当前版本存在一个已知限制从检查点恢复自博弈训练时报告的 ELO 会被重置为默认值。这意味着中断后--resume的自博弈训练其 ELO 曲线会从默认值重新开始评估与课程进度统计时需注意这一点。总结mlagents包是 ML-Agents Toolkit 的 Python 训练核心mlagents-learn是其唯一训练入口。掌握 Training-ML-Agents.md 中的命令用法与 Training-Configuration-File.md 中的参数语义再结合仓库 config/ 目录下ppo、sac、poca、imitation各套示例配置进行调参实践即可针对自己的 Unity 环境高效开展强化学习与模仿学习训练。【免费下载链接】ml-agentsThe Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.项目地址: https://gitcode.com/gh_mirrors/ml/ml-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考