Struct GruConfig
pub struct GruConfig {
pub d_input: usize,
pub d_hidden: usize,
pub bias: bool,
pub reset_after: bool,
pub initializer: Initializer,
pub gate_activation: ActivationConfig,
pub hidden_activation: ActivationConfig,
pub clip: Option<f64>,
}Expand description
Configuration to create a gru module using the init function.
Fields§
§d_input: usizeThe size of the input features.
The size of the hidden state.
bias: boolIf a bias should be applied during the Gru transformation.
reset_after: boolIf reset gate should be applied after weight multiplication.
This configuration option controls how the reset gate is applied to the hidden state.
true- (Default) Match the initial arXiv version of the paper Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v1) and apply the reset gate after multiplication by the weights. This matches the behavior of PyTorch GRU.false- Match the most recent revision of Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v3) and apply the reset gate before the weight multiplication.
The differing implementations can give slightly different numerical results and have different efficiencies. For more
motivation for why the true can be more efficient see Optimizing RNNs with Differentiable Graphs.
To set this field to false use with_reset_after.
initializer: InitializerGru initializer
gate_activation: ActivationConfigActivation function for the update and reset gates. Default is Sigmoid, which is standard for GRU gates.
Activation function for the new/candidate gate. Default is Tanh, which is standard for GRU.
clip: Option<f64>Optional hidden state clip threshold. If provided, hidden state values are clipped
to the range [-clip, +clip] after each timestep. This can help prevent
exploding values during inference.
Implementations§
§impl GruConfig
impl GruConfig
pub fn new(d_input: usize, d_hidden: usize, bias: bool) -> GruConfig
pub fn new(d_input: usize, d_hidden: usize, bias: bool) -> GruConfig
Create a new instance of the config.
§Arguments
§Required Arguments
§d_input
The size of the input features.
§d_hidden
The size of the hidden state.
§bias
If a bias should be applied during the Gru transformation.
§Optional Arguments
§clip
Optional hidden state clip threshold. If provided, hidden state values are clipped
to the range [-clip, +clip] after each timestep. This can help prevent
exploding values during inference.
- Defaults to
None
§Default Arguments
§reset_after
If reset gate should be applied after weight multiplication.
This configuration option controls how the reset gate is applied to the hidden state.
true- (Default) Match the initial arXiv version of the paper Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v1) and apply the reset gate after multiplication by the weights. This matches the behavior of PyTorch GRU.false- Match the most recent revision of Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v3) and apply the reset gate before the weight multiplication.
The differing implementations can give slightly different numerical results and have different efficiencies. For more
motivation for why the true can be more efficient see Optimizing RNNs with Differentiable Graphs.
To set this field to false use with_reset_after.
- Defaults to
"true"
§initializer
Gru initializer
- Defaults to
"Initializer::XavierNormal{gain:1.0}"
§gate_activation
Activation function for the update and reset gates. Default is Sigmoid, which is standard for GRU gates.
- Defaults to
"ActivationConfig::Sigmoid"
§hidden_activation
Activation function for the new/candidate gate. Default is Tanh, which is standard for GRU.
- Defaults to
"ActivationConfig::Tanh"
§impl GruConfig
impl GruConfig
pub fn with_reset_after(self, reset_after: bool) -> GruConfig
pub fn with_reset_after(self, reset_after: bool) -> GruConfig
Sets the value for the field reset_after.
If reset gate should be applied after weight multiplication.
This configuration option controls how the reset gate is applied to the hidden state.
true- (Default) Match the initial arXiv version of the paper Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v1) and apply the reset gate after multiplication by the weights. This matches the behavior of PyTorch GRU.false- Match the most recent revision of Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (v3) and apply the reset gate before the weight multiplication.
The differing implementations can give slightly different numerical results and have different efficiencies. For more
motivation for why the true can be more efficient see Optimizing RNNs with Differentiable Graphs.
To set this field to false use with_reset_after.
- Defaults to
"true"
pub fn with_initializer(self, initializer: Initializer) -> GruConfig
pub fn with_initializer(self, initializer: Initializer) -> GruConfig
Sets the value for the field initializer.
Gru initializer
- Defaults to
"Initializer::XavierNormal{gain:1.0}"
pub fn with_gate_activation(
self,
gate_activation: ActivationConfig,
) -> GruConfig
pub fn with_gate_activation( self, gate_activation: ActivationConfig, ) -> GruConfig
Sets the value for the field gate_activation.
Activation function for the update and reset gates. Default is Sigmoid, which is standard for GRU gates.
- Defaults to
"ActivationConfig::Sigmoid"
Sets the value for the field hidden_activation.
Activation function for the new/candidate gate. Default is Tanh, which is standard for GRU.
- Defaults to
"ActivationConfig::Tanh"
Trait Implementations§
§impl Config for GruConfig
impl Config for GruConfig
§impl<'de> Deserialize<'de> for GruConfig
impl<'de> Deserialize<'de> for GruConfig
§fn deserialize<D>(
deserializer: D,
) -> Result<GruConfig, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<GruConfig, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Serialize for GruConfig
impl Serialize for GruConfig
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for GruConfig
impl RefUnwindSafe for GruConfig
impl Send for GruConfig
impl Sync for GruConfig
impl Unpin for GruConfig
impl UnwindSafe for GruConfig
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
§impl<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string()] Read more§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString]. Read more