Struct burn_core::module::RunningState  
source · pub struct RunningState<V> { /* private fields */ }Expand description
A state that can be updated during the forward pass while being thread safe.
Note
The state value is the average of all updates on all threads.
Implementations§
source§impl<const D: usize, B: Backend> RunningState<Tensor<B, D>>
 
impl<const D: usize, B: Backend> RunningState<Tensor<B, D>>
sourcepub fn from_record(record: Param<Tensor<B, D>>) -> Self
 
pub fn from_record(record: Param<Tensor<B, D>>) -> Self
Create a new running state from a record.
sourcepub fn value_sync(&self) -> Tensor<B, D>
 
pub fn value_sync(&self) -> Tensor<B, D>
Get the current value and make sure it is sync.
Note
Don’t use this function after an update on the same thread where other threads might have to register their update before the actual synchonization needs to happen.
Trait Implementations§
source§impl<const D: usize, B: ADBackend> ADModule<B> for RunningState<Tensor<B, D>>
 
impl<const D: usize, B: ADBackend> ADModule<B> for RunningState<Tensor<B, D>>
type InnerModule = RunningState<Tensor<<B as ADBackend>::InnerBackend, D, Float>>
source§fn valid(&self) -> Self::InnerModule
 
fn valid(&self) -> Self::InnerModule
Get the same module, but on the inner backend without auto-differentiation.
source§impl<V: Clone> Clone for RunningState<V>
 
impl<V: Clone> Clone for RunningState<V>
source§fn clone(&self) -> RunningState<V>
 
fn clone(&self) -> RunningState<V>
Returns a copy 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 moresource§impl<V: Debug> Debug for RunningState<V>
 
impl<V: Debug> Debug for RunningState<V>
source§impl<const D: usize, B: Backend> Module<B> for RunningState<Tensor<B, D>>
 
impl<const D: usize, B: Backend> Module<B> for RunningState<Tensor<B, D>>
source§fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
 
fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
Visit each tensor in the module with a visitor.
source§fn map<M: ModuleMapper<B>>(self, mapper: &mut M) -> Self
 
fn map<M: ModuleMapper<B>>(self, mapper: &mut M) -> Self
Map each tensor in the module with a mapper.
source§fn into_record(self) -> Self::Record
 
fn into_record(self) -> Self::Record
Convert the module into a record containing the state.
source§fn load_record(self, record: Self::Record) -> Self
 
fn load_record(self, record: Self::Record) -> Self
Load the module state from a record.
source§fn devices(&self) -> Vec<B::Device>
 
fn devices(&self) -> Vec<B::Device>
Get the device list of the module and all of its sub-modules.
source§fn fork(self, device: &B::Device) -> Self
 
fn fork(self, device: &B::Device) -> Self
Fork the module and all of its sub-modules to the given device. Read more
source§fn to_device(self, device: &B::Device) -> Self
 
fn to_device(self, device: &B::Device) -> Self
Move the module and all of its sub-modules to the given device. Read more
source§fn num_params(&self) -> usize
 
fn num_params(&self) -> usize
Get the number of parameters the module has, including all of its sub-modules.
Auto Trait Implementations§
impl<V> RefUnwindSafe for RunningState<V>
impl<V> Send for RunningState<V>where V: Send + Sync,
impl<V> Sync for RunningState<V>where V: Send + Sync,
impl<V> Unpin for RunningState<V>
impl<V> UnwindSafe for RunningState<V>
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