EnvConfig

class srl.base.env.config.EnvConfig(id: str = '', kwargs: dict = <factory>, max_episode_steps: int = -1, episode_timeout: float = -1, frameskip: int = 0, random_noop_max: int = 0, gym_make_func: ~typing.Callable[[...], gym.Env | gymnasium.Env] | None = None, gym_wrapper: GymUserWrapper | None = None, use_gym: bool = False, render_interval: float = -1, render_scale: float = 1.0, font_name: str = '', font_size: int = 18, processors: ~typing.List[~srl.base.env.processor.EnvProcessor] = <factory>, enable_sanitize: bool = False, enable_assertion: bool = False, display_name: str = '')

ベースクラス: object

環境の定義

環境は名前だけ又はEnvConfigで定義します。 EnvConfigからは細かい設定を追加できます。

>>> env_config = "Grid"
>>> env_config = srl.EnvConfig("Grid", {"move_reward": -0.1})

生成は以下のどちらでもできます。

>>> env = srl.make_env(env_config)
>>> env = env_config.make()
id: str = ''

Specifies the environment id

kwargs: dict

環境生成時に渡す引数を指定します。 これは登録されているパラメータより優先されます。

max_episode_steps: int = -1

1エピソードの最大ステップ数(0以下で無効)

episode_timeout: float = -1

1エピソードの最大実行時間(秒)(0以下で無効)

frameskip: int = 0

1stepあたり、環境内で余分に進めるstep数 例えばframeskip=3の場合、ユーザが1step実行すると、環境内では4frame進みます。

random_noop_max: int = 0

1以上を指定するとそのstep数以内で、エピソード開始からランダムstep進めてからエピソード開始します。

gym_make_func: Callable[[...], gym.Env | gymnasium.Env] | None = None

gym/gymnasiumの環境を生成する場合、この関数を使って生成します。

gym_wrapper: GymUserWrapper | None = None

gym/gymnasiumの環境に割り込むためのクラス、フレームワークの代わりに変換する (pickle化できる必要があります)

use_gym: bool = False

gymとgymnasium両方ある場合にgymを使います。(デフォルトはgymnasium)

render_interval: float = -1

renderの間隔(ms) - -1 の場合、Envで定義されている値が使われます。

render_scale: float = 1.0

renderのscale

font_name: str = ''

render時のフォント名 ""の場合は、srl.font.PlemolJPConsoleHS-Regular.ttf が使われます。

font_size: int = 18

render時のフォントサイズ

processors: List[EnvProcessor]

Processorを使う場合、定義したProcessorのリスト

enable_sanitize: bool = False

action/observationの値をエラーが出ないように可能な限り変換します。 ※エラー終了の可能性は減りますが、値の変換等による予期しない動作を引き起こす可能性が高くなります

enable_assertion: bool = False

action/observationの値を厳密にチェックし、おかしい場合は例外を出力します。 enable_assertionが有効な場合は、enable_sanitizeは無効です。

display_name: str = ''

display name

property name: str
set_name(env: EnvBase)
make() EnvRun

環境を生成します。 make_env(env_config) と同じ動作です。

classmethod load(path_or_cfg_dict: dict | Any | str) EnvConfig
save(path: str)
apply_dict(cfg_dict: dict | Any) EnvConfig
to_dict(to_print: bool = False) dict
copy() EnvConfig
summary(show_changed_only: bool = False)