Struct NeuralNetwork

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

A simple feedforward neural network with one hidden layer.

Implementations§

Source§

impl NeuralNetwork

Source

pub fn new(input_size: usize, hidden_size: usize, output_size: usize) -> Self

Creates a new neural network with the given sizes for input, hidden, and output layers. The weights and biases are initialized randomly.

Source

pub fn set_learning_rate(&mut self, learning_rate: f64)

Sets the learning rate for the neural network.

Source

pub fn set_activation_function( &mut self, activation_function: fn(&Matrix) -> Matrix, activation_function_derivative: fn(&Matrix) -> Matrix, )

Sets the activation function for the neural network.

Source

pub fn set_linear_activation(&mut self)

Source

pub fn set_sigmoid_activation(&mut self)

Source

pub fn set_tanh_activation(&mut self)

Source

pub fn predict(&self, input: Vec<f64>) -> Vec<f64>

Predicts the output for the given input using the neural network.

Source

pub fn train(&mut self, input: Vec<f64>, target: Vec<f64>)

Trains the neural network using the given input and target output. The input and target should be vectors of the same length as the input and output sizes of the network. The training process involves forward propagation and backpropagation to adjust the weights and biases.

Trait Implementations§

Source§

impl Clone for NeuralNetwork

Source§

fn clone(&self) -> NeuralNetwork

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 NeuralNetwork

Source§

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

Formats the value using the given formatter. Read more

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V