pub struct GenericTransitionBatch<O, A>{
pub obs: O,
pub act: A,
pub next_obs: O,
pub reward: Vec<f32>,
pub is_terminated: Vec<i8>,
pub is_truncated: Vec<i8>,
pub weight: Option<Vec<f32>>,
pub ix_sample: Option<Vec<usize>>,
}
Expand description
A generic structure representing transitions in reinforcement learning.
This structure efficiently manages reinforcement learning transitions (observations, actions, rewards, etc.). It also includes support for prioritized experience replay (PER).
§Type Parameters
O
- Observation type, must implementBatchBase
A
- Action type, must implementBatchBase
§Examples
ⓘ
let batch = GenericTransitionBatch::<Tensor, Tensor>::with_capacity(32);
Fields§
§obs: O
Current observations
act: A
Selected actions
next_obs: O
Next state observations
reward: Vec<f32>
Transition rewards
is_terminated: Vec<i8>
Episode termination flags
is_truncated: Vec<i8>
Episode truncation flags
weight: Option<Vec<f32>>
Weights for prioritized experience replay
ix_sample: Option<Vec<usize>>
Indices of sampled transitions
Implementations§
Source§impl<O, A> GenericTransitionBatch<O, A>
impl<O, A> GenericTransitionBatch<O, A>
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Trait Implementations§
Source§impl<O, A> TransitionBatch for GenericTransitionBatch<O, A>
impl<O, A> TransitionBatch for GenericTransitionBatch<O, A>
Source§fn unpack(
self,
) -> (Self::ObsBatch, Self::ActBatch, Self::ObsBatch, Vec<f32>, Vec<i8>, Vec<i8>, Option<Vec<usize>>, Option<Vec<f32>>)
fn unpack( self, ) -> (Self::ObsBatch, Self::ActBatch, Self::ObsBatch, Vec<f32>, Vec<i8>, Vec<i8>, Option<Vec<usize>>, Option<Vec<f32>>)
Decomposes the batch into its individual components.
§Returns
A tuple containing the following elements:
- Observations
- Actions
- Next observations
- Rewards
- Termination flags
- Truncation flags
- Sample indices
- Weights
Auto Trait Implementations§
impl<O, A> Freeze for GenericTransitionBatch<O, A>
impl<O, A> RefUnwindSafe for GenericTransitionBatch<O, A>where
O: RefUnwindSafe,
A: RefUnwindSafe,
impl<O, A> Send for GenericTransitionBatch<O, A>
impl<O, A> Sync for GenericTransitionBatch<O, A>
impl<O, A> Unpin for GenericTransitionBatch<O, A>
impl<O, A> UnwindSafe for GenericTransitionBatch<O, A>where
O: UnwindSafe,
A: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more