Struct nn::NN [-] [+] [src]

pub struct NN {
    // some fields omitted
}

Neural network

Methods

impl NN

fn new(layers_sizes: &[u32]) -> NN

Each number in the layers_sizes parameter specifies a layer in the network. The number itself is the number of nodes in that layer. The first number is the input layer, the last number is the output layer, and all numbers between the first and last are hidden layers. There must be at least two layers in the network.

fn run(&self, inputs: &[f64]) -> Vec<f64>

Runs the network on an input and returns a vector of the results. The number of f64s in the input must be the same as the number of input nodes in the network. The length of the results vector will be the number of nodes in the output layer of the network.

fn train<'b>(&'b mut self, examples: &'b [(Vec<f64>, Vec<f64>)]) -> Trainer

Takes in vector of examples and returns a Trainer struct that is used to specify options that dictate how the training should proceed. No actual training will occur until the go() method on the Trainer struct is called.

fn to_json(&self) -> String

Encodes the network as a JSON string.

fn from_json(encoded: &str) -> NN

Builds a new network from a JSON string.

Trait Implementations

Derived Implementations

impl Encodable for NN

fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S>

impl Decodable for NN

fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<NN, __D>

impl Clone for NN

fn clone(&self) -> NN

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

impl Debug for NN

fn fmt(&self, __arg_0: &mut Formatter) -> Result