pub struct Transition {
pub obs: Observation,
pub reward: f64,
pub terminated: bool,
pub truncated: bool,
pub info: Option<HashMap<String, f64>>,
}Expand description
A single environment transition returned by step.
§Precision convention
Rewards are f64 for numerical stability during advantage computation;
observations and actions are f32 throughout (see Observation).
When storing into replay buffers (which use f32 rewards), a narrowing
cast occurs. This is intentional: environments compute in f64, buffers
store in f32, and training reads f32.
The info field is None when the environment provides no extra
metadata (the common case for CartPole, Pendulum, etc.), avoiding a
HashMap allocation on every step.
Fields§
§obs: Observation§reward: f64§terminated: bool§truncated: bool§info: Option<HashMap<String, f64>>Trait Implementations§
Source§impl Clone for Transition
impl Clone for Transition
Source§fn clone(&self) -> Transition
fn clone(&self) -> Transition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Transition
impl RefUnwindSafe for Transition
impl Send for Transition
impl Sync for Transition
impl Unpin for Transition
impl UnwindSafe for Transition
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more