跳至内容

schola.scripts.sb3.settings.SB3ScriptArgs

class schola.scripts.sb3.settings.SB3ScriptArgs(enable_checkpoints=False, checkpoint_dir=’./ckpt’, save_freq=100000, name_prefix_override=None, export_onnx=False, save_final_policy=False, launch_unreal=False, port=None, executable_path=None, headless=False, map=None, fps=None, disable_script=False, timesteps=3000, pbar=False, disable_eval=False, enable_tensorboard=False, log_dir=’./logs’, log_freq=10, callback_verbosity=0, schola_verbosity=0, sb3_verbosity=1, save_replay_buffer=False, save_vecnormalize=False, resume_from=None, load_vecnormalize=None, load_replay_buffer=None, reset_timestep=False, policy_parameters=None, critic_parameters=None, activation=ActivationFunctionEnum.ReLU, algorithm_settings=, plugins=) : Bases: ScriptArgs

用于配置 SB3 启动器使用的脚本参数的顶层数据类。此数据类扩展了 ScriptArgs,并包含各种用于训练算法、日志记录和其他配置的设置。通过指定时间步长、日志记录选项、网络架构和算法特定设置等参数,可以轻松自定义训练过程。

方法

__init__([enable_checkpoints, …])
make_unreal_connection()基于脚本参数创建 Unreal Engine 连接。

属性

activation策略和 Critic 网络中使用的激活函数。
callback_verbosity回调的详细程度级别。
检查点目录启用保存检查点。
critic_parameters表示 Critic(价值函数)网络架构的层宽度列表。
disable_eval是否禁用训练后的评估。
disable_script表示是否禁用 Unreal Engine Schola 插件中的自动启动脚本设置的标志。
启用检查点启用保存检查点
enable_tensorboard是否启用 TensorBoard 日志记录。
executable_path独立环境启动时的独立可执行文件路径。
导出为 ONNX是仅保存检查点还是将模型导出为 ONNX 格式。
帧率运行独立模式时使用的固定帧率,如果为 None,则不使用固定时间步长。
无头模式标志,指示独立 Unreal Engine 进程是否应在无头模式下运行。
启动 Unreal标志,指示脚本是否应启动独立的 Unreal Engine 进程。
load_replay_buffer恢复训练时要加载的已保存回放缓冲区路径。
load_vecnormalize恢复训练时要加载的已保存向量归一化统计信息文件的路径。
log_dir保存 TensorBoard 日志的目录。
log_freq将训练指标记录到 TensorBoard 的频率。
map启动独立的 Unreal Engine 进程时要加载的地图。
name_prefix
覆盖名称前缀覆盖检查点文件的名称前缀(例如,SAC、PPO 等)。
进度条训练期间是否显示进度条。
policy_parameters表示策略网络架构的层宽度列表。
port连接到 Unreal Engine 进程的端口,如果为 None,则在独立模式运行时会自动选择一个开放的端口。
reset_timestep从已保存的模型恢复训练时是否重置内部时间步计数器。
resume_from从已保存的模型恢复训练的路径。
保存最终策略训练完成后是否保存最终策略。
保存频率保存检查点的频率。
save_replay_buffer保存检查点时是否保存回放缓冲区。
save_vecnormalize保存检查点时是否保存向量归一化统计信息。
sb3_verbosityStable Baselines3 日志记录的详细程度级别。
schola_verbositySchola 特定日志记录的详细程度级别。
时间步训练智能体的总时间步数。
算法设置要使用的训练算法的设置。
插件可用于扩展 launch.py 功能的插件列表。

参数: : - enable_checkpoints (bool)

__init__(enable_checkpoints=False, checkpoint_dir=’./ckpt’, save_freq=100000, name_prefix_override=None, export_onnx=False, save_final_policy=False, launch_unreal=False, port=None, executable_path=None, headless=False, map=None, fps=None, disable_script=False, timesteps=3000, pbar=False, disable_eval=False, enable_tensorboard=False, log_dir=’./logs’, log_freq=10, callback_verbosity=0, schola_verbosity=0, sb3_verbosity=1, save_replay_buffer=False, save_vecnormalize=False, resume_from=None, load_vecnormalize=None, load_replay_buffer=None, reset_timestep=False, policy_parameters=None, critic_parameters=None, activation=ActivationFunctionEnum.ReLU, algorithm_settings=, plugins=) : 参数: : - enable_checkpoints (bool)

返回类型: : None

activation*: ActivationFunctionEnum* = ‘relu’ : 策略和 Critic 网络中使用的激活函数。这决定了应用于神经网络每个层的非线性激活函数。常见选项包括 ReLU、Tanh 和 Sigmoid。激活函数的选择会影响模型的性能,并可能取决于环境的特定特征。默认为 ReLU,但您可以根据需要选择其他激活函数。

algorithm_settings*: PPOSettings | SACSettings* : 要使用的训练算法的设置。这可以是 PPOSettings 或 SACSettings,具体取决于所选的算法。此属性允许通过简单更改设置类的实例来轻松切换不同的算法(例如 PPO 或 SAC)。默认为 PPOSettings,适用于大多数环境,除非另有说明。

callback_verbosity*: int* = 0 : 回调的详细程度级别。这控制了训练期间使用的任何回调输出的详细程度。

critic_parameters*: List[int]* = None : 表示 Critic(价值函数)网络架构的层宽度列表。这定义了 Critic 网络中每个隐藏层的神经元数量。例如,[64, 64] 将创建一个具有两个隐藏层的 Critic 网络,每个隐藏层包含 64 个神经元。这仅适用于使用 Critic 的算法(例如 SAC)。如果设置为 None,将使用算法定义的默认架构。

disable_eval*: bool* = False : 是否禁用训练后的评估。如果设置为 True,训练完成后将跳过评估。

enable_tensorboard*: bool* = False : 是否启用 TensorBoard 日志记录。

load_replay_buffer*: str* = None : 恢复训练时要加载的已保存回放缓冲区路径。这允许加载先前保存的回放缓冲区,这对于继续使用相同的经验集进行训练很有用。路径应指向 Stable Baselines3 创建的有效回放缓冲区文件。如果设置为 None,则不会加载任何回放缓冲区,而是创建一个新的。

load_vecnormalize*: str* = None : 恢复训练时要加载的已保存向量归一化统计信息文件的路径。这允许加载先前训练会话的归一化统计信息,确保在恢复训练时对观察结果进行一致的归一化。如果设置为 None,则不会加载任何向量归一化统计信息。

log_dir*: str* = ’./logs’ : 保存 TensorBoard 日志的目录。

log_freq*: int* = 10 : 将训练指标记录到 TensorBoard 的频率。这决定了(以训练步数为单位)训练指标记录到 TensorBoard 的频率。值为 10 意味着每 10 个训练步记录一次指标。

property name_prefix

pbar*: bool* = False : 训练期间是否显示进度条。需要安装 TQDM 和 Rich。

plugins*: List[Sb3LauncherExtension]* : 可用于扩展 launch.py 功能的插件列表。

policy_parameters*: List[int]* = None : 表示策略网络架构的层宽度列表。这定义了策略网络中每个隐藏层的神经元数量。例如,[64, 64] 将创建一个具有两个隐藏层的策略网络,每个隐藏层包含 64 个神经元。如果设置为 None,将使用算法定义的默认架构。

reset_timestep*: bool* = False : 从已保存的模型恢复训练时是否重置内部时间步计数器。如果设置为 True,将时间步计数器重置为 0。

resume_from*: str* = None : 从已保存的模型恢复训练的路径。这允许从先前保存的检查点继续训练。路径应指向 Stable Baselines3 创建的有效模型文件。如果设置为 None,将从头开始训练。

save_replay_buffer*: bool* = False : 保存检查点时是否保存回放缓冲区。这允许从回放缓冲区的相同状态恢复训练。

save_vecnormalize*: bool* = False : 保存检查点时是否保存向量归一化统计信息。这对于需要归一化观察值的环境很有用,并且允许在恢复训练时进行一致的归一化。

sb3_verbosity*: int* = 1 : Stable Baselines3 日志记录的详细程度级别。这控制了训练期间 Stable Baselines3 组件输出的详细程度。

schola_verbosity*: int* = 0 : Schola 特定日志记录的详细程度级别。这控制了训练期间 Schola 相关组件输出的详细程度。

timesteps*: int* = 3000 : 训练智能体的总时间步数。这是用于训练的总环境步数。应根据环境的复杂性和期望的训练时长来设置此值。值越高通常性能越好,但训练时间也会增加。

© . This site is unofficial and not affiliated with AMD.