Skip to main content

RLComponentsTypes

Trait RLComponentsTypes 

Source
pub trait RLComponentsTypes {
Show 13 associated items type Backend: AutodiffBackend; type Env: Environment<State = Self::State, Action = Self::Action> + 'static; type EnvInit: EnvironmentInit<Self::Env> + Send + 'static; type State: Into<<Self::Policy as Policy<Self::Backend>>::Observation> + Clone + Send + 'static; type Action: From<<Self::Policy as Policy<Self::Backend>>::Action> + Into<<Self::Policy as Policy<Self::Backend>>::Action> + Clone + Send + 'static; type Policy: Policy<Self::Backend, Observation = Self::PolicyObs, ActionDistribution = Self::PolicyAD, Action = Self::PolicyAction, ActionContext = Self::ActionContext, PolicyState = Self::PolicyState> + Send + 'static; type PolicyObs: Clone + Send + Batchable + 'static; type PolicyAD: Clone + Send + Batchable; type PolicyAction: Clone + Send + Batchable; type ActionContext: ItemLazy + Clone + Send + 'static; type PolicyState: Clone + Send + PolicyState<Self::Backend> + 'static; type LearningAgent: PolicyLearner<Self::Backend, TrainContext = Self::TrainingOutput, InnerPolicy = Self::Policy> + Send + 'static; type TrainingOutput: ItemLazy + Clone + Send;
}
Available on crate feature rl only.
Expand description

All components used by the reinforcement learning paradigm, grouped in one trait.

Required Associated Types§

Source

type Backend: AutodiffBackend

The backend used for training.

Source

type Env: Environment<State = Self::State, Action = Self::Action> + 'static

The learning environment.

Source

type EnvInit: EnvironmentInit<Self::Env> + Send + 'static

Specifies how to initialize the environment.

Source

type State: Into<<Self::Policy as Policy<Self::Backend>>::Observation> + Clone + Send + 'static

The type of the environment state.

Source

type Action: From<<Self::Policy as Policy<Self::Backend>>::Action> + Into<<Self::Policy as Policy<Self::Backend>>::Action> + Clone + Send + 'static

The type of the environment action.

Source

type Policy: Policy<Self::Backend, Observation = Self::PolicyObs, ActionDistribution = Self::PolicyAD, Action = Self::PolicyAction, ActionContext = Self::ActionContext, PolicyState = Self::PolicyState> + Send + 'static

The policy used to take actions in the environment.

Source

type PolicyObs: Clone + Send + Batchable + 'static

The policy’s observation type.

Source

type PolicyAD: Clone + Send + Batchable

The policy’s action distribution type.

Source

type PolicyAction: Clone + Send + Batchable

The policy’s action type.

Source

type ActionContext: ItemLazy + Clone + Send + 'static

Additional data as context for an agent’s action.

Source

type PolicyState: Clone + Send + PolicyState<Self::Backend> + 'static

The state of the parameterized policy.

Source

type LearningAgent: PolicyLearner<Self::Backend, TrainContext = Self::TrainingOutput, InnerPolicy = Self::Policy> + Send + 'static

The learning agent.

Source

type TrainingOutput: ItemLazy + Clone + Send

The output data of a training step.

Implementors§

Source§

impl<B, E, EI, A> RLComponentsTypes for RLComponentsMarker<B, E, EI, A>
where B: AutodiffBackend, E: Environment + 'static, EI: EnvironmentInit<E> + Send + 'static, A: PolicyLearner<B> + Send + 'static, A::TrainContext: ItemLazy + Clone + Send, A::InnerPolicy: Policy<B> + Send, <A::InnerPolicy as Policy<B>>::Observation: Batchable + Clone + Send, <A::InnerPolicy as Policy<B>>::ActionDistribution: Batchable + Clone + Send, <A::InnerPolicy as Policy<B>>::Action: Batchable + Clone + Send, <A::InnerPolicy as Policy<B>>::ActionContext: ItemLazy + Clone + Send + 'static, <A::InnerPolicy as Policy<B>>::PolicyState: Clone + Send, E::State: Into<<A::InnerPolicy as Policy<B>>::Observation> + Clone + Send + 'static, E::Action: From<<A::InnerPolicy as Policy<B>>::Action> + Into<<A::InnerPolicy as Policy<B>>::Action> + Clone + Send + 'static,