Skip to main content

AgentEnvLoop

Trait AgentEnvLoop 

Source
pub trait AgentEnvLoop<BT: Backend, RLC: RLComponentsTypes> {
    // Required methods
    fn run_steps(
        &mut self,
        num_steps: usize,
        processor: &mut RLEventProcessorType<RLC>,
        interrupter: &Interrupter,
        progress: &mut Progress,
    ) -> Vec<TimeStep<BT, <RLC as RLComponentsTypes>::State, <RLC as RLComponentsTypes>::Action, <RLC as RLComponentsTypes>::ActionContext>>;
    fn run_episodes(
        &mut self,
        num_episodes: usize,
        processor: &mut RLEventProcessorType<RLC>,
        interrupter: &Interrupter,
        progress: &mut Progress,
    ) -> Vec<Trajectory<BT, <RLC as RLComponentsTypes>::State, <RLC as RLComponentsTypes>::Action, <RLC as RLComponentsTypes>::ActionContext>>;
    fn update_policy(&mut self, update: RLC::PolicyState);
    fn policy(&self) -> RLC::PolicyState;
}
Available on crate feature rl only.
Expand description

Trait for a structure that implements an agent/environement interface.

Required Methods§

Source

fn run_steps( &mut self, num_steps: usize, processor: &mut RLEventProcessorType<RLC>, interrupter: &Interrupter, progress: &mut Progress, ) -> Vec<TimeStep<BT, <RLC as RLComponentsTypes>::State, <RLC as RLComponentsTypes>::Action, <RLC as RLComponentsTypes>::ActionContext>>

Run a certain number of timesteps.

§Arguments
§Returns

A list of ordered timesteps.

Source

fn run_episodes( &mut self, num_episodes: usize, processor: &mut RLEventProcessorType<RLC>, interrupter: &Interrupter, progress: &mut Progress, ) -> Vec<Trajectory<BT, <RLC as RLComponentsTypes>::State, <RLC as RLComponentsTypes>::Action, <RLC as RLComponentsTypes>::ActionContext>>

Run a certain number of episodes.

§Arguments
§Returns

A list of ordered timesteps.

Source

fn update_policy(&mut self, update: RLC::PolicyState)

Update the runner’s agent.

Source

fn policy(&self) -> RLC::PolicyState

Get the state of the runner’s agent.

Implementors§

Source§

impl<BT, RLC> AgentEnvLoop<BT, RLC> for AgentEnvAsyncLoop<BT, RLC>
where BT: Backend, RLC: RLComponentsTypes,

Source§

impl<BT, RLC> AgentEnvLoop<BT, RLC> for AgentEnvBaseLoop<BT, RLC>
where BT: Backend, RLC: RLComponentsTypes,

Source§

impl<BT, RLC> AgentEnvLoop<BT, RLC> for MultiAgentEnvLoop<BT, RLC>
where BT: Backend, RLC: RLComponentsTypes,