unilab.base.curriculum

Curriculum learning for adaptive difficulty adjustment.

Classes

EpisodeLengthTracker

Track a weighted moving average of episode lengths on one tensor.

class unilab.base.curriculum.EpisodeLengthTracker[source]

Bases: object

Track a weighted moving average of episode lengths on one tensor.

Parameters:
  • num_envs (int)

  • window_size (int)

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

  • window_size (int)

update(episode_lengths)[source]

Recursively update the average without synchronizing each batch.

Parameters:

episode_lengths (Tensor)

Return type:

None

update_masked(episode_lengths, mask)[source]

Update from a fixed-width episode-length carrier and bool mask.

This boundary avoids materializing reset rows; false values are excluded with fixed-shape where operations.

Parameters:
Return type:

None

property average: Tensor

Recursive average as a device-resident scalar tensor.