mlx_rs::nn

Struct Dropout

Source
pub struct Dropout {
    pub one_minus_p: f32,
    pub training: bool,
}
Expand description

Randomly zero a portion of the elements during training.

The remaining elements are multiplied with 1 / (1-p) where p is the probability of zeroing an element. This is done so the expected value of a given element will remain the same.

Fields§

§one_minus_p: f32

1-p, where p is the probability of zeroing an element. p is default to Dropout::DEFAULT_P if not specified.

§training: bool

Whether the layer is in training mode. Default to Dropout::DEFAULT_TRAINING if not specified.

Implementations§

Source§

impl Dropout

Source

pub fn new() -> Self

Creates a new instance of Dropout.

Source§

impl Dropout

Source

pub const DEFAULT_P: f32 = 0.5f32

Default value for the probability of zeroing an element.

Source

pub const DEFAULT_TRAINING: bool = true

Default value for the training mode.

Trait Implementations§

Source§

impl Buildable for Dropout

Source§

type Builder = DropoutBuilder

The builder type for this buildable type
Source§

impl Builder<Dropout> for DropoutBuilder

Source§

type Error = DropoutBuildError

Error with building
Source§

fn build(self) -> Result<Dropout, Self::Error>

Build the type
Source§

impl Clone for Dropout

Source§

fn clone(&self) -> Dropout

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Dropout

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Module<&Array> for Dropout

Source§

type Error = Exception

Error type for the module.
Source§

type Output = Array

Output type of the module.
Source§

fn forward(&mut self, x: &Array) -> Result<Array, Self::Error>

Forward pass of the module.
Source§

fn training_mode(&mut self, mode: bool)

Set whether the module is in training mode. Read more
Source§

impl ModuleParameters for Dropout

Source§

fn freeze_parameters(&mut self, recursive: bool)

Freeze all parameters in the module.
Source§

fn unfreeze_parameters(&mut self, recursive: bool)

Unfreeze all parameters in the module.
Source§

fn parameters(&self) -> ModuleParamRef<'_>

Get references to the module parameters.
Source§

fn parameters_mut(&mut self) -> ModuleParamMut<'_>

Get mutable references to the module parameters.
Source§

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>

Check if all parameters in the module are frozen. Returns None if there are no parameters.
Source§

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)

Update the module parameters.
Source§

fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)

Update the module parameters from a flattened representation.

Auto Trait Implementations§

Blanket Implementations§

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

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

Source§

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

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

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

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

impl<T> IntoOption<T> for T

Source§

fn into_option(self) -> Option<T>

Convert into an Option.
Source§

impl<T> IntoStrideBy for T

Source§

fn stride_by(self, stride: i32) -> StrideBy<T>

Create a stride indexing operation.
Source§

impl<T> ModuleParametersExt for T

Source§

fn eval(&self) -> Result<(), Exception>

Evaluate the module parameters.
Source§

fn load_safetensors(&mut self, path: impl AsRef<Path>) -> Result<(), IoError>

Load module parameters from a safetensors file.
Source§

fn save_safetensors(&self, path: impl AsRef<Path>) -> Result<(), IoError>

Save module parameters to a file in safetensors format.
Source§

impl<T> Parameter for T

Source§

fn freeze(&mut self, recursive: bool)

Freeze the parameter.
Source§

fn unfreeze(&mut self, recursive: bool)

Unfreeze the parameter.
Source§

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>

Get the parameter as a nested value.
Source§

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

Get the parameter as a nested value if it is trainable.
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
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.
Source§

impl<T> Updatable for T

Source§

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>

Returns a list of mutable references to the updatable states. Read more
Source§

impl<M> Activation for M
where M: UnaryModule<Error = Exception> + Debug + DynClone,

Source§

impl<T> SequentialModuleItem for T
where T: UnaryModule + Debug,

Source§

impl<T> UnaryModule for T
where T: for<'a> Module<&'a Array, Output = Array>,