unilab.base.curriculum

Curriculum learning for adaptive difficulty adjustment.

Classes

EpisodeLengthTracker

Track moving average of episode length.

PenaltyCurriculum

Adaptive penalty scaling based on episode length.

class unilab.base.curriculum.EpisodeLengthTracker[source]

Bases: object

Track moving average of episode length.

Parameters:
  • num_envs (int)

  • window_size (int)

__init__(num_envs, window_size=1000)[source]
Parameters:
  • num_envs (int)

  • window_size (int)

update(episode_lengths)[source]

Update average with new episode lengths.

Parameters:

episode_lengths (ndarray)

Return type:

None

class unilab.base.curriculum.PenaltyCurriculum[source]

Bases: object

Adaptive penalty scaling based on episode length.

Parameters:
__init__(env, enabled=True, initial_scale=0.5, min_scale=0.5, max_scale=1.0, level_down_threshold=150.0, level_up_threshold=750.0, degree=0.001)[source]
Parameters:
update(average_episode_length)[source]

Update penalty scale based on average episode length.

Parameters:

average_episode_length (float)

Return type:

None