GruConfig

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: usize

The size of the input features.

§d_hidden: usize

The size of the hidden state.

§bias: bool

If a bias should be applied during the Gru transformation.

§reset_after: bool

If reset gate should be applied after weight multiplication.

This configuration option controls how the reset gate is applied to the hidden state.

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: Initializer

Gru initializer

§gate_activation: ActivationConfig

Activation function for the update and reset gates. Default is Sigmoid, which is standard for GRU gates.

§hidden_activation: ActivationConfig

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

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.

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

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.

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

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

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"

pub fn with_hidden_activation( self, hidden_activation: ActivationConfig, ) -> GruConfig

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"

pub fn with_clip(self, clip: Option<f64>) -> GruConfig

Sets the value for the field 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
§

impl GruConfig

pub fn init<B>(&self, device: &<B as BackendTypes>::Device) -> Gru<B>
where B: Backend,

Initialize a new gru module.

Trait Implementations§

§

impl Clone for GruConfig

§

fn clone(&self) -> GruConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Config for GruConfig

§

fn save<P>(&self, file: P) -> Result<(), Error>
where P: AsRef<Path>,

Saves the configuration to a file. Read more
§

fn load<P>(file: P) -> Result<Self, ConfigError>
where P: AsRef<Path>,

Loads the configuration from a file. Read more
§

fn load_binary(data: &[u8]) -> Result<Self, ConfigError>

Loads the configuration from a binary buffer. Read more
§

impl Debug for GruConfig

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for GruConfig

§

fn deserialize<D>( deserializer: D, ) -> Result<GruConfig, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Display for GruConfig

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Serialize for GruConfig

§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Adaptor<()> for T

§

fn adapt(&self)

Adapt the type to be passed to a metric.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<C> CloneExpand for C
where C: Clone,

§

fn __expand_clone_method(&self, _scope: &mut Scope) -> C

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoComptime for T

§

fn comptime(self) -> Self

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> ToCompactString for T
where T: Display,

§

fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>

Fallible version of [ToCompactString::to_compact_string()] Read more
§

fn to_compact_string(&self) -> CompactString

Converts the given value to a [CompactString]. Read more
§

impl<T> ToLine for T
where T: Display,

§

fn to_line(&self) -> Line<'_>

Converts the value to a [Line].
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToSpan for T
where T: Display,

§

fn to_span(&self) -> Span<'_>

Converts the value to a [Span].
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> ToText for T
where T: Display,

§

fn to_text(&self) -> Text<'_>

Converts the value to a [Text].
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> TuneInputs for T
where T: Clone + Send + Sync + 'static,

§

type At<'a> = T

The concrete input type at lifetime 'a.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,