Struct burn_core::nn::GateController
source · pub struct GateController<B: Backend> { /* private fields */ }Expand description
A GateController represents a gate in an LSTM cell. An LSTM cell generally contains three gates: an input gate, forget gate, and cell gate.
An Lstm gate is modeled as two linear transformations. The results of these transformations are used to calculate the gate’s output.
Implementations§
source§impl<B: Backend> GateController<B>
impl<B: Backend> GateController<B>
sourcepub fn new(
d_input: usize,
d_output: usize,
bias: bool,
initializer: Initializer
) -> Self
pub fn new( d_input: usize, d_output: usize, bias: bool, initializer: Initializer ) -> Self
Initialize a new gate_controller module.
sourcepub fn new_with(
linear_config: &LinearConfig,
record: GateControllerRecord<B>
) -> Self
pub fn new_with( linear_config: &LinearConfig, record: GateControllerRecord<B> ) -> Self
Initialize a new gate_controller module with a record.
Trait Implementations§
source§impl<B> AutodiffModule<B> for GateController<B>where
B: AutodiffBackend + Backend,
<B as AutodiffBackend>::InnerBackend: Backend,
impl<B> AutodiffModule<B> for GateController<B>where B: AutodiffBackend + Backend, <B as AutodiffBackend>::InnerBackend: Backend,
§type InnerModule = GateController<<B as AutodiffBackend>::InnerBackend>
type InnerModule = GateController<<B as AutodiffBackend>::InnerBackend>
Inner module without auto-differentiation.
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<B: Backend> Clone for GateController<B>
impl<B: Backend> Clone for GateController<B>
source§impl<B: Backend> Display for GateController<B>
impl<B: Backend> Display for GateController<B>
source§impl<B: Backend> Module<B> for GateController<B>
impl<B: Backend> Module<B> for GateController<B>
§type Record = GateControllerRecord<B>
type Record = GateControllerRecord<B>
Type to save and load the module.
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 into_record(self) -> Self::Record
fn into_record(self) -> Self::Record
Convert the module into a record containing the state.
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.
source§fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
fn visit<V: ModuleVisitor<B>>(&self, visitor: &mut V)
Visit each tensor parameter 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 parameter in the module with a mapper.
source§fn collect_devices(&self, devices: Devices<B>) -> Devices<B>
fn collect_devices(&self, devices: Devices<B>) -> Devices<B>
Return all the devices found in the underneath module tree added to the given vector
without duplicates.
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 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 devices(&self) -> Devices<B>
fn devices(&self) -> Devices<B>
Return all the devices found in the underneath module tree without duplicates.
source§fn save_file<FR: FileRecorder, PB: Into<PathBuf>>(
self,
file_path: PB,
recorder: &FR
) -> Result<(), RecorderError>
fn save_file<FR: FileRecorder, PB: Into<PathBuf>>( self, file_path: PB, recorder: &FR ) -> Result<(), RecorderError>
Save the module to a file using the provided file recorder. Read more
source§fn load_file<FR: FileRecorder, PB: Into<PathBuf>>(
self,
file_path: PB,
recorder: &FR
) -> Result<Self, RecorderError>
fn load_file<FR: FileRecorder, PB: Into<PathBuf>>( self, file_path: PB, recorder: &FR ) -> Result<Self, RecorderError>
Load the module from a file using the provided file recorder. Read more
Auto Trait Implementations§
impl<B> RefUnwindSafe for GateController<B>where <B as Backend>::TensorPrimitive<1>: RefUnwindSafe, <B as Backend>::TensorPrimitive<2>: RefUnwindSafe,
impl<B> Send for GateController<B>
impl<B> Sync for GateController<B>
impl<B> Unpin for GateController<B>where <B as Backend>::TensorPrimitive<1>: Unpin, <B as Backend>::TensorPrimitive<2>: Unpin,
impl<B> UnwindSafe for GateController<B>where <B as Backend>::TensorPrimitive<1>: UnwindSafe, <B as Backend>::TensorPrimitive<2>: 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