pub struct Rnn {
pub non_linearity: Arc<NonLinearity>,
pub wxh: Param<Array>,
pub whh: Param<Array>,
pub bias: Param<Option<Array>>,
}
Expand description
An Elman recurrent layer.
The input is a sequence of shape NLD
or LD
where:
N
is the optional batch dimensionL
is the sequence lengthD
is the input’s feature dimension
The hidden state h
has shape NH
or H
, depending on
whether the input is batched or not. Returns the hidden state at each
time step, of shape NLH
or LH
.
Fields§
§non_linearity: Arc<NonLinearity>
non-linearity function to use
wxh: Param<Array>
Wxh
whh: Param<Array>
Whh
bias: Param<Option<Array>>
Bias. Enabled by default.
Implementations§
Source§impl Rnn
impl Rnn
Sourcepub const DEFAULT_BIAS: bool = true
pub const DEFAULT_BIAS: bool = true
Default value for bias
Sourcepub const DEFAULT_NONLINEARITY: Option<Arc<NonLinearity>> = None
pub const DEFAULT_NONLINEARITY: Option<Arc<NonLinearity>> = None
RnnBuilder::non_linearity is initialized with None
, and the default non-linearity is tanh
if not set.
Trait Implementations§
Source§impl Buildable for Rnn
impl Buildable for Rnn
Source§type Builder = RnnBuilder
type Builder = RnnBuilder
The builder type for this buildable type
Source§impl Builder<Rnn> for RnnBuilder
impl Builder<Rnn> for RnnBuilder
Source§impl<'a, Input> Module<Input> for Rnn
impl<'a, Input> Module<Input> for Rnn
Source§fn training_mode(&mut self, _mode: bool)
fn training_mode(&mut self, _mode: bool)
Set whether the module is in training mode. Read more
Source§impl ModuleParameters for Rnn
impl ModuleParameters for Rnn
Source§fn freeze_parameters(&mut self, recursive: bool)
fn freeze_parameters(&mut self, recursive: bool)
Freeze all parameters in the module.
Source§fn unfreeze_parameters(&mut self, recursive: bool)
fn unfreeze_parameters(&mut self, recursive: bool)
Unfreeze all parameters in the module.
Source§fn parameters(&self) -> ModuleParamRef<'_>
fn parameters(&self) -> ModuleParamRef<'_>
Get references to the module parameters.
Source§fn parameters_mut(&mut self) -> ModuleParamMut<'_>
fn parameters_mut(&mut self) -> ModuleParamMut<'_>
Get mutable references to the module parameters.
Source§fn trainable_parameters(&self) -> ModuleParamRef<'_>
fn trainable_parameters(&self) -> ModuleParamRef<'_>
Get references to the trainable parameters. A parameter is trainable if it is NOT frozen.
Source§fn all_frozen(&self) -> Option<bool>
fn all_frozen(&self) -> Option<bool>
Check if all parameters in the module are frozen. Returns
None
if there are no parameters.Source§fn any_frozen(&self) -> Option<bool>
fn any_frozen(&self) -> Option<bool>
Check if any parameter in the module is frozen. Returns
None
if there are no parameters.Source§fn update(&mut self, parameters: ModuleParam)
fn update(&mut self, parameters: ModuleParam)
Update the module parameters.
Source§fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
Update the module parameters from a flattened representation.
Auto Trait Implementations§
impl Freeze for Rnn
impl !RefUnwindSafe for Rnn
impl !Send for Rnn
impl !Sync for Rnn
impl Unpin for Rnn
impl !UnwindSafe for Rnn
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 moreSource§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Convert into an
Option
.Source§impl<T> IntoStrideBy for T
impl<T> IntoStrideBy for T
Source§impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
Source§impl<T> Parameter for Twhere
T: ModuleParameters,
impl<T> Parameter for Twhere
T: ModuleParameters,
Source§fn is_frozen(&self) -> Option<bool>
fn is_frozen(&self) -> Option<bool>
Check if the parameter is frozen. Returns
None
if the parameter is a module that has no
parameters.Source§fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
Get the parameter as a nested value.
Source§fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
Get the parameter as a mutable nested value.
Source§fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
Get the parameter as a nested value if it is trainable.
Source§impl<T> Updatable for Twhere
T: ModuleParameters,
impl<T> Updatable for Twhere
T: ModuleParameters,
Source§fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
Returns a list of references to the updatable states. Read more
Source§fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
Returns a list of mutable references to the updatable states. Read more