跳至内容

schola.sb3.action_space_patch.PatchedPPO

类定义

class schola.sb3.action_space_patch.PatchedPPO(
policy,
env,
learning_rate=0.0003,
n_steps=2048,
batch_size=64,
n_epochs=10,
gamma=0.99,
gae_lambda=0.95,
clip_range=0.2,
clip_range_vf=None,
normalize_advantage=True,
ent_coef=0.0,
vf_coef=0.5,
max_grad_norm=0.5,
use_sde=False,
sde_sample_freq=-1,
target_kl=None,
stats_window_size=100,
tensorboard_log=None,
policy_kwargs=None,
verbose=0,
seed=None,
device='auto',
_init_setup_model=True
)

基类: PPO

参数

策略

类型: str | Type[ActorCriticPolicy]
要使用的策略模型(MlpPolicy, CnnPolicy, …)。

env

类型: Env | VecEnv | str
学习的环境。

learning_rate

类型: float | Callable[[float], float]
Default: 0.0003
学习率,它可以是当前剩余进度的函数。

n_steps

Type: int
默认: 2048
每次更新要为每个环境运行的步数。

batch_size

Type: int
默认: 64
小批量大小。

n_epochs

Type: int
默认: 10
优化代理损失时的 epoch 数量。

gamma

类型: float
Default: 0.99
折扣因子。

gae_lambda

类型: float
默认: 0.95
用于广义优势估计的偏差与方差权衡的因子。

clip_range

类型: float | Callable[[float], float]
默认: 0.2
裁剪参数,它可以是当前剩余进度的函数。

clip_range_vf

类型: None | float | Callable[[float], float]
默认值: None
值函数的裁剪参数,它可以是当前剩余进度的函数。

normalize_advantage

类型: bool
默认值: True
是否对优势进行归一化。

ent_coef

类型: float
默认: 0.0
损失计算的熵系数。

vf_coef

类型: float
默认: 0.5
损失计算的值函数系数。

max_grad_norm

类型: float
默认: 0.5
梯度裁剪的最大值。

use_sde

类型: bool
Default: False
是否使用广义状态依赖性探索 (gSDE)。

sde_sample_freq

Type: int
Default: -1
在使用 gSDE 时,每 n 步采样一个新的噪声矩阵。

target_kl

类型: float | None
默认值: None
限制更新之间的 KL 散度。

stats_window_size

Type: int
Default: 100
用于 rollout 日志记录的窗口大小,指定用于平均报告的成功率和回合长度的回合数。

tensorboard_log

类型: str | None
默认值: None
TensorBoard 的日志位置(如果为 None,则不记录)。

policy_kwargs

类型: Dict[str, Any] | None
默认值: None
在创建策略时传递给策略的其他参数。

详细

Type: int
默认: 0
详细程度:0 无输出,1 信息,2 调试。

seed

类型: int | None
默认值: None
伪随机生成器的种子。

device

类型: device | str
默认: 'auto'
代码应运行的设备(cpu, cuda, …)。

_init_setup_model

类型: bool
默认值: True
在实例化时是否构建网络。

属性

记录器

记录器的 getter 函数。

policy_aliases

PPO 算法的策略别名。

rollout_buffer

用于收集经验的 rollout 缓冲区。

策略

策略模型。

observation_space

环境的观察空间。

action_space

环境的动作空间。

n_envs

并行环境的数量。

lr_schedule

学习率调度。

方法

__init__

__init__(
policy, env, learning_rate=0.0003, n_steps=2048,
batch_size=64, n_epochs=10, gamma=0.99, gae_lambda=0.95,
clip_range=0.2, clip_range_vf=None, normalize_advantage=True,
ent_coef=0.0, vf_coef=0.5, max_grad_norm=0.5, use_sde=False,
sde_sample_freq=-1, target_kl=None, stats_window_size=100,
tensorboard_log=None, policy_kwargs=None, verbose=0,
seed=None, device='auto', _init_setup_model=True
)

初始化 PatchedPPO 算法。

collect_rollouts

collect_rollouts(env, callback, rollout_buffer, n_rollout_steps)

使用当前策略收集经验并填充 RolloutBuffer

get_env

get_env()

返回当前环境(如果未定义,则可能为 None)。

get_parameters

get_parameters()

返回代理的参数。

get_vec_normalize_env

get_vec_normalize_env()

如果存在,则返回训练环境的 VecNormalize 包装器。

learn

learn(total_timesteps, callback=None, log_interval=1,
eval_env=None, eval_freq=-1, n_eval_episodes=5,
tb_log_name="PPO", eval_log_path=None, reset_num_timesteps=True)

返回训练好的模型。

load

load(path, env=None, device='auto', custom_objects=None,
print_system_info=False, force_reset=True, **kwargs)

从 zip 文件加载模型。

predict

predict(observation, state=None, episode_start=None, deterministic=False)

从观察(和可选的隐藏状态)获取策略动作。

save

save(path, exclude=None, include=None)

将对象的全部属性和模型参数保存到 zip 文件中。

set_env

set_env(env, force_reset=True)

检查环境的有效性,如果一致,则将其设置为当前环境。

set_logger

set_logger(logger)

记录器对象的 setter 函数。

set_parameters

set_parameters(load_path_or_dict, exact_match=True, device='auto')

从给定的 zip 文件或包含不同模块参数的嵌套字典加载参数(参见 get_parameters)。

set_random_seed

set_random_seed(seed=None)

设置伪随机生成器(python, numpy, pytorch, gym, action_space)的种子。

train

train()

使用当前收集的 rollout 缓冲区更新策略。

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