mlx_rs::nn

Struct Sequential

Source
pub struct Sequential<Err = Exception> {
    pub layers: Vec<Box<dyn SequentialModuleItem<Error = Err>>>,
}
Expand description

A sequential layer.

It calls each layer in sequence.

Fields§

§layers: Vec<Box<dyn SequentialModuleItem<Error = Err>>>

The layers to be called in sequence.

Implementations§

Source§

impl<Err> Sequential<Err>

Source

pub fn new() -> Self

Creates a new Sequential module.

Source

pub fn append<M>(self, layer: M) -> Self
where M: UnaryModule<Error = Err> + Debug + 'static,

Appends a layer to the sequential module.

Trait Implementations§

Source§

impl<Err: Debug> Debug for Sequential<Err>

Source§

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

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

impl<Err> Default for Sequential<Err>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Module<&Array> for Sequential

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<Err> ModuleParameters for Sequential<Err>

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§

§

impl<Err> Freeze for Sequential<Err>

§

impl<Err = Exception> !RefUnwindSafe for Sequential<Err>

§

impl<Err = Exception> !Send for Sequential<Err>

§

impl<Err = Exception> !Sync for Sequential<Err>

§

impl<Err> Unpin for Sequential<Err>

§

impl<Err = Exception> !UnwindSafe for Sequential<Err>

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> 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, 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<T> SequentialModuleItem for T
where T: UnaryModule + Debug,

Source§

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