RapidLib  v2.1.0
A simple library for interactive machine learning
neuralNetwork< T > Class Template Reference

#include <neuralNetwork.h>

Inheritance diagram for neuralNetwork< T >:
Inheritance graph
Collaboration diagram for neuralNetwork< T >:
Collaboration graph

Public Member Functions

 neuralNetwork (const int &num_inputs, const std::vector< int > &which_inputs, const int &num_hidden_layers, const int &num_hidden_nodes, const std::vector< T > &weights, const std::vector< T > &wHiddenOutput, const std::vector< T > &inRanges, const std::vector< T > &inBases, const T &outRange, const T &outBase)
 
 neuralNetwork (const int &num_inputs, const std::vector< int > &which_inputs, const int &num_hidden_layer, const int &num_hidden_nodes)
 
 ~neuralNetwork ()
 
run (const std::vector< T > &inputVector)
 
void reset ()
 
int getNumInputs () const
 
std::vector< int > getWhichInputs () const
 
int getNumHiddenLayers () const
 
void setNumHiddenLayers (int num_hidden_layers)
 
int getNumHiddenNodes () const
 
void setEpochs (const int &epochs)
 
std::vector< T > getWeights () const
 
std::vector< T > getWHiddenOutput () const
 
std::vector< T > getInRanges () const
 
std::vector< T > getInBases () const
 
getOutRange () const
 
getOutBase () const
 
void getJSONDescription (Json::Value &currentModel)
 
void train (const std::vector< trainingExampleTemplate< T > > &trainingSet)
 These pertain to the training, and aren't need to run a trained model //. More...
 
- Public Member Functions inherited from baseModel< T >
virtual ~baseModel ()
 

Additional Inherited Members

- Protected Member Functions inherited from baseModel< T >
template<typename TT >
Json::Value vector2json (TT vec)
 

Detailed Description

template<typename T>
class neuralNetwork< T >

Class for implementing a Neural Network.

This class includes both running and training, and constructors for reading trained models from JSON.

Constructor & Destructor Documentation

§ neuralNetwork() [1/2]

template<typename T >
neuralNetwork< T >::neuralNetwork ( const int &  num_inputs,
const std::vector< int > &  which_inputs,
const int &  num_hidden_layers,
const int &  num_hidden_nodes,
const std::vector< T > &  _weights,
const std::vector< T > &  w_hidden_output,
const std::vector< T > &  in_ranges,
const std::vector< T > &  in_bases,
const T &  out_range,
const T &  out_base 
)

This is the constructor for building a trained model from JSON.

This is the constructor for a model imported from JSON.

§ neuralNetwork() [2/2]

template<typename T >
neuralNetwork< T >::neuralNetwork ( const int &  num_inputs,
const std::vector< int > &  which_inputs,
const int &  num_hidden_layers,
const int &  num_hidden_nodes 
)

This constructor creates a neural network that needs to be trained.

Parameters
num_inputsis the number of inputs the network will process
which_inputsis an vector of which values in the input vector are being fed to the network. ex: {0,2,4}
num_hidden_layeris the number of hidden layers in the network. Must be at least 1.
num_hidden_nodesis the number of hidden nodes in each hidden layer. Often, this is the same as num_inputs
Returns
A neuralNetwork instance with randomized weights and no normalization values. These will be set or adjusted during training.

This is the constructor for a model that needs to be trained.

§ ~neuralNetwork()

template<typename T >
neuralNetwork< T >::~neuralNetwork ( )

destructor

This destructor is not needed.

Member Function Documentation

§ getInBases()

template<typename T >
std::vector< T > neuralNetwork< T >::getInBases ( ) const

§ getInRanges()

template<typename T >
std::vector< T > neuralNetwork< T >::getInRanges ( ) const

§ getJSONDescription()

template<typename T >
void neuralNetwork< T >::getJSONDescription ( Json::Value &  currentModel)
virtual

Implements baseModel< T >.

§ getNumHiddenLayers()

template<typename T >
int neuralNetwork< T >::getNumHiddenLayers ( ) const

§ getNumHiddenNodes()

template<typename T >
int neuralNetwork< T >::getNumHiddenNodes ( ) const

§ getNumInputs()

template<typename T >
int neuralNetwork< T >::getNumInputs ( ) const
virtual

Implements baseModel< T >.

§ getOutBase()

template<typename T >
T neuralNetwork< T >::getOutBase ( ) const

§ getOutRange()

template<typename T >
T neuralNetwork< T >::getOutRange ( ) const

§ getWeights()

template<typename T >
std::vector< T > neuralNetwork< T >::getWeights ( ) const

§ getWhichInputs()

template<typename T >
std::vector< int > neuralNetwork< T >::getWhichInputs ( ) const
virtual

Implements baseModel< T >.

§ getWHiddenOutput()

template<typename T >
std::vector< T > neuralNetwork< T >::getWHiddenOutput ( ) const

§ reset()

template<typename T >
void neuralNetwork< T >::reset ( )
virtual

Implements baseModel< T >.

§ run()

template<typename T >
T neuralNetwork< T >::run ( const std::vector< T > &  inputVector)
virtual

Generate an output value from a single input vector.

Parameters
Astandard vector of type T that feed-forward regression will run on.
Returns
A single value, which is the result of the feed-forward operation

Implements baseModel< T >.

§ setEpochs()

template<typename T >
void neuralNetwork< T >::setEpochs ( const int &  epochs)

§ setNumHiddenLayers()

template<typename T >
void neuralNetwork< T >::setNumHiddenLayers ( int  num_hidden_layers)

§ train()

template<typename T >
void neuralNetwork< T >::train ( const std::vector< trainingExampleTemplate< T > > &  trainingSet)
virtual

These pertain to the training, and aren't need to run a trained model //.

Train a model using backpropagation.

Parameters
Thetraining set is a vector of training examples that contain both a vector of input values and a value specifying desired output.

Implements baseModel< T >.


The documentation for this class was generated from the following files: