mlx_rs::nn

Struct Dropout3d

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

Apply 3D channel-wise dropout during training.

Randomly zero out entire channels independently with probability p. This layer expects the channels to be last, i.e., the input shape should be NDHWC or DHWC where: N is the batch dimension, D is the depth, H is the input image height, W is the input image width, and C is the number of input channels.

The remaining channels are scaled by 1 / (1-p) to maintain the expected value of each element. Unlike traditional dropout, which zeros individual entries, this layer zeros entire channels. This is often beneficial for convolutional layers processing 3D data, like in medical imaging or video processing.

Fields§

§one_minus_p: f32

1-p, where p is the probability of zeroing a channel. p is default to Dropout3d::DEFAULT_P if not specified.

§training: bool

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

Implementations§

Source§

impl Dropout3d

Source

pub fn new() -> Self

Creates a new instance of Dropout3d.

Source§

impl Dropout3d

Source

pub const DEFAULT_P: f32 = 0.5f32

Default value for the probability of zeroing a channel.

Source

pub const DEFAULT_TRAINING: bool = true

Default value for the training mode.

Trait Implementations§

Source§

impl Buildable for Dropout3d

Source§

type Builder = Dropout3dBuilder

The builder type for this buildable type
Source§

impl Builder<Dropout3d> for Dropout3dBuilder

Source§

type Error = DropoutBuildError

Error with building
Source§

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

Build the type
Source§

impl Clone for Dropout3d

Source§

fn clone(&self) -> Dropout3d

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 Dropout3d

Source§

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

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

impl Module<&Array> for Dropout3d

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 Dropout3d

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