Sequential

Struct Sequential 

Source
pub struct Sequential { /* private fields */ }
Expand description

A sequential container that chains modules together.

Modules are added in the order they should be executed. The forward pass executes each module in order, passing the output of one as the input to the next.

§Example

let model = Sequential::new()
    .add(Linear::new(784, 256))
    .add(ReLU)
    .add(Linear::new(256, 10));

let output = model.forward(&input);

Implementations§

Source§

impl Sequential

Source

pub fn new() -> Self

Creates a new empty Sequential container.

Source

pub fn add<M: Module + 'static>(self, module: M) -> Self

Adds a module with an auto-generated name.

Source

pub fn add_named<M: Module + 'static>( self, name: impl Into<String>, module: M, ) -> Self

Adds a module with a specific name.

Source

pub fn push<M: Module + 'static>(&mut self, module: M)

Pushes a module (non-builder pattern).

Source

pub fn push_named<M: Module + 'static>( &mut self, name: impl Into<String>, module: M, )

Pushes a named module (non-builder pattern).

Source

pub fn len(&self) -> usize

Returns the number of modules.

Source

pub fn is_empty(&self) -> bool

Returns true if empty.

Source

pub fn iter(&self) -> impl Iterator<Item = (&str, &dyn Module)>

Returns an iterator over named modules.

Trait Implementations§

Source§

impl Default for Sequential

Source§

fn default() -> Self

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

impl Module for Sequential

Source§

fn forward(&self, input: &Variable) -> Variable

Performs the forward pass. Read more
Source§

fn parameters(&self) -> Vec<Parameter>

Returns all parameters of this module. Read more
Source§

fn named_parameters(&self) -> HashMap<String, Parameter>

Returns named parameters of this module.
Source§

fn set_training(&mut self, training: bool)

Sets the training mode.
Source§

fn is_training(&self) -> bool

Returns whether the module is in training mode.
Source§

fn name(&self) -> &'static str

Returns the module name for debugging.
Source§

fn num_parameters(&self) -> usize

Returns the number of trainable parameters.
Source§

fn train(&mut self)

Sets the module to training mode.
Source§

fn eval(&mut self)

Sets the module to evaluation mode.
Source§

fn zero_grad(&self)

Zeros all gradients of parameters.

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> 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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V