跳至内容

schola-sb3 命令

此脚本使用 Schola 和各种配置选项来训练 Stable Baselines3 模型,包括训练、检查点和网络架构。

用法

终端窗口
usage: schola-sb3 [-h] [--launch-unreal] [--executable-path EXECUTABLE_PATH] [--headless] [-p PORT] [--map MAP] [--fps FPS] [--disable-script]
[-scholav SCHOLA_VERBOSITY] [--enable-checkpoints] [--checkpoint-dir CHECKPOINT_DIR] [--save-freq SAVE_FREQ] [--name-prefix NAME_PREFIX]
[--export-onnx] [--save-final-policy] [--save-replay-buffer] [--save-vecnormalize] [--resume-from RESUME_FROM] [--load-vecnormalize LOAD_VECNORMALIZE]
[--load-replay-buffer LOAD_REPLAY_BUFFER] [--reset-timestep] [--policy-parameters POLICY_PARAMETERS [POLICY_PARAMETERS ...]]
[--critic-parameters CRITIC_PARAMETERS [CRITIC_PARAMETERS ...]]
{PPO,SAC} ...

可选参数

schola-sb3 脚本的标准命令行参数。

Unreal 进程参数

--launch-unreal

自动启动 Unreal Engine

  • 默认: False
  • 必需:

--executable-path

Unreal Engine 可执行文件的路径

  • 类型: str
  • 必需:

--headless

以无头模式运行 Unreal Engine

  • 默认: False
  • 必需: False0

-p, --port

Unreal Engine 通信端口

  • 默认: 15151
  • 类型: int
  • 必需:

--map

在 Unreal Engine 中加载的地图

  • 类型: str
  • 必需:

--fps

Unreal Engine 的目标 FPS

  • 默认: 60
  • 类型: int
  • 必需:

--disable-script

在 Unreal Engine 中禁用脚本执行

  • 默认: False
  • 必需:

日志参数

-scholav, --schola-verbosity

Schola 环境的详细程度级别

  • 默认: 0
  • 类型: int
  • 必需:

检查点参数

--enable-checkpoints

启用保存检查点

  • 默认: False
  • 必需:

--checkpoint-dir

保存检查点的目录

  • 默认: './ckpt'
  • 类型: str
  • 必需:

--save-freq

保存检查点的频率

  • 默认: 100000
  • 类型: int
  • 必需:

--name-prefix

覆盖检查点文件的名称前缀 (例如 SAC, PPO 等)

  • 类型: str
  • 必需:

--export-onnx

是否将模型导出为 ONNX 格式,而不仅仅是保存检查点

  • 默认: False
  • 必需:

--save-final-policy

训练完成后是否保存最终策略

  • 默认: False
  • 必需:

--save-replay-buffer

在训练期间保存回放缓冲区 (如果保存检查点)

  • 默认: False
  • 必需:

--save-vecnormalize

在训练期间保存 VecNormalize 参数 (如果保存检查点)

  • 默认: False
  • 必需:

恢复参数

--resume-from

从已保存的模型恢复训练的路径

  • 类型: str
  • 必需:

--load-vecnormalize

加载已保存的 VecNormalize 参数的路径 (如果从检查点恢复)

  • 类型: str
  • 必需:

--load-replay-buffer

加载已保存的回放缓冲区的路径 (如果从检查点恢复)

  • 类型: str
  • 必需:

--reset-timestep

从检查点恢复时将时间步计数器重置为 0

  • 默认: False
  • 必需:

网络架构参数

--policy-parameters

策略的网络架构

  • 类型: int (允许多个值)
  • 必需:

--critic-parameters

Critic 的网络架构

  • 类型: int (允许多个值)
  • 必需:

子命令

PPO

Proximal Policy Optimization

终端窗口
schola-sb3 PPO [-h] [--learning-rate LEARNING_RATE] [--n-steps N_STEPS] [--batch-size BATCH_SIZE] [--n-epochs N_EPOCHS] [--gamma GAMMA] [--gae-lambda GAE_LAMBDA]
[--clip-range CLIP_RANGE] [--normalize-advantage] [--ent-coef ENT_COEF] [--vf-coef VF_COEF] [--max-grad-norm MAX_GRAD_NORM] [--use-sde]
[--sde-sample-freq SDE_SAMPLE_FREQ]

可选参数

--learning-rate

PPO 算法的学习率

  • Default: 0.0003
  • 类型: float
  • 必需: False

必需: False

--uffer-size

SAC 算法的回放缓冲区大小

  • 默认: 1000000
  • 类型: int
  • 必需: False

--learning-starts

在策略更新之前在每个环境中执行的步数

  • 默认: 2048
  • **类型:**int
  • 必需: False

--batch-size

每次更新从回放缓冲区中提取的样本数

  • 默认: 64
  • **类型:**int
  • 必需: False

--n-epochs

每次更新训练策略的 epoch 数

  • 默认: 10
  • **类型:**int
  • 必需: False

--gamma

PPO 算法的折扣因子

  • Default: 0.99
  • 类型: float
  • 必需: False

--gae-lambda

PPO 算法的 GAE lambda 值

  • 默认: 0.95
  • 类型: float
  • 必需: False

--clip-range

PPO 算法的裁剪范围

  • 默认: 0.2
  • 类型: float
  • 必需: False

--normalize-advantage

是否对优势函数进行归一化

  • Default: False
  • 常量: True
  • 必需: False

--ent-coef

PPO 算法的熵系数

  • 默认: 0.0
  • 类型: float
  • 必需: False

--vf-coef

PPO 算法的值函数系数

  • 默认: 0.5
  • 类型: float
  • 必需: False

--max-grad-norm

PPO 算法的最大梯度范数

  • 默认: 0.5
  • 类型: float
  • 必需: False

--use-sde

是否对 PPO 算法使用状态相关探索

  • Default: False
  • 常量: True
  • 必需: False

--sde-sample-freq

PPO 算法从 SDE 采样的频率

  • Default: -1
  • 类型: int
  • 必需: False

SAC

Soft Actor-Critic

终端窗口
schola-sb3 SAC [-h] [--learning-rate LEARNING_RATE] [--buffer-size BUFFER_SIZE] [--learning-starts LEARNING_STARTS] [--batch-size BATCH_SIZE] [--tau TAU] [--gamma GAMMA]
[--train-freq TRAIN_FREQ] [--gradient-steps GRADIENT_STEPS] [--optimize-memory-usage] [--ent-coef ENT_COEF] [--target-update-interval TARGET_UPDATE_INTERVAL]
[--target-entropy TARGET_ENTROPY] [--use-sde] [--sde-sample-freq SDE_SAMPLE_FREQ]

可选参数

--learning-rate

SAC 算法的学习率

  • Default: 0.0003
  • 类型: float
  • 必需: False

--buffer-size

SAC 算法的回放缓冲区大小

  • 默认: 1000000
  • 类型: int
  • 必需: False

--learning-starts

SAC 算法开始学习前的步数

  • Default: 100
  • 类型: int
  • 必需: False

--batch-size

每次更新从回放缓冲区中提取的样本数

  • Default: 256
  • 类型: int
  • 必需: False

--tau

SAC 算法的 tau 值

  • 默认: 0.005
  • 类型: float
  • 必需: False

--gamma

SAC 算法的折扣因子

  • Default: 0.99
  • 类型: float
  • 必需: False

--train-freq

SAC 算法训练策略的频率

  • Default: 1
  • 类型: int
  • 必需: False

--gradient-steps

SAC 算法的梯度步数

  • Default: 1
  • 类型: int
  • 必需: False

--optimize-memory-usage

是否为 SAC 算法优化内存使用

  • Default: False
  • 常量: True
  • 必需: False

--ent-coef

SAC 算法的熵系数

  • 默认: ‘auto’
  • 类型: str
  • 必需: False

--target-update-interval

SAC 算法更新目标网络的频率

  • Default: 1
  • 类型: int
  • 必需: False

--target-entropy

SAC 算法的目标熵

  • 默认: ‘auto’
  • 类型: str
  • 必需: False

--use-sde

是否对 SAC 算法使用状态相关探索

  • Default: False
  • 常量: True
  • 必需: False

--sde-sample-freq

SAC 算法从 SDE 采样的频率

  • Default: -1
  • 类型: int
  • 必需: False
© . This site is unofficial and not affiliated with AMD.