evorl.algorithms.erl.erl_workflow

Module Contents

Classes

API

class evorl.algorithms.erl.erl_workflow.ERLTrainMetric[source]

Bases: evorl.metrics.MetricBase

ec_info: evorl.types.PyTreeDict

‘metric_field(…)’

pop_episode_lengths: chex.Array | None

None

pop_episode_returns: chex.Array | None

None

rb_size: chex.Array | None

None

rl_episode_lengths: chex.Array | None

None

rl_episode_returns: chex.Array | None

None

rl_metrics: evorl.metrics.MetricBase | None

None

class evorl.algorithms.erl.erl_workflow.ERLWorkflowBase(*, env: evorl.envs.Env, agent: evorl.agent.Agent, agent_state_vmap_axes: evorl.agent.AgentStateAxis, optimizer: optax.GradientTransformation, ec_optimizer: evorl.ec.optimizers.EvoOptimizer, ec_collector: evorl.evaluators.EpisodeCollector, rl_collector: evorl.evaluators.EpisodeCollector, evaluator: evorl.evaluators.Evaluator, replay_buffer: evorl.replay_buffers.AbstractReplayBuffer, config: omegaconf.DictConfig)[source]

Bases: evorl.workflows.Workflow

classmethod build_from_config(config: omegaconf.DictConfig, enable_multi_devices: bool = False, enable_jit: bool = True) typing_extensions.Self[source]
classmethod enable_jit() None[source]
abstract evaluate(state: evorl.types.State) tuple[evorl.metrics.MetricBase, evorl.types.State][source]
setup(key: chex.PRNGKey) evorl.types.State[source]
abstract warmup_step(state: evorl.types.State) tuple[evorl.metrics.MetricBase, evorl.types.State][source]
class evorl.algorithms.erl.erl_workflow.WorkflowMetric[source]

Bases: evorl.metrics.MetricBase

iterations: chex.Array

‘zeros(…)’

rl_sampled_timesteps: chex.Array

‘zeros(…)’

sampled_episodes: chex.Array

‘zeros(…)’

sampled_timesteps: chex.Array

‘zeros(…)’