This is a basic multilayer perceptron neural network capable of basic training and feed forward operations.  
 More...
 | 
| 
  | AZ_RTTI (MultilayerPerceptron, "{E12EF761-41A5-48C3-BF55-7179B280D45F}", INeuralNetwork) | 
|   | 
| 
  | MultilayerPerceptron (const MultilayerPerceptron &) | 
|   | 
| 
  | MultilayerPerceptron (AZStd::size_t activationCount) | 
|   | 
| 
MultilayerPerceptron &  | operator= (const MultilayerPerceptron &) | 
|   | 
| 
MultilayerPerceptron &  | operator= (const ModelAsset &) | 
|   | 
| 
void  | AddLayer (AZStd::size_t layerDimensionality, ActivationFunctions activationFunction=ActivationFunctions::ReLU) | 
|   | Adds a new layer to the model. 
  | 
|   | 
| 
Layer *  | GetLayer (AZStd::size_t layerIndex) | 
|   | Retrieves a specific layer from the model, this is not thread safe and should only be used during unit testing to validate model parameters. 
  | 
|   | 
 | 
| AZStd::string  | GetName () const override | 
|   | 
| AZStd::string  | GetAssetFile (AssetTypes assetType) const override | 
|   | Returns the file where model parameters are stored.  
  | 
|   | 
| AZStd::size_t  | GetInputDimensionality () const override | 
|   | Returns the number of input neurons the model supports.  
  | 
|   | 
| AZStd::size_t  | GetOutputDimensionality () const override | 
|   | Returns the number of output neurons the model supports.  
  | 
|   | 
| AZStd::size_t  | GetLayerCount () const override | 
|   | Returns the total number of layers in the network.  
  | 
|   | 
| AZ::MatrixMxN  | GetLayerWeights (AZStd::size_t layerIndex) const override | 
|   | Returns the weight matrix for the requested layer.  
  | 
|   | 
| AZ::VectorN  | GetLayerBiases (AZStd::size_t layerIndex) const override | 
|   | Returns the weight matrix for the requested layer.  
  | 
|   | 
| AZStd::size_t  | GetParameterCount () const override | 
|   | Returns the total number of parameters in the neural network.  
  | 
|   | 
| IInferenceContextPtr  | CreateInferenceContext () override | 
|   | 
| ITrainingContextPtr  | CreateTrainingContext () override | 
|   | 
| const AZ::VectorN *  | Forward (IInferenceContextPtr context, const AZ::VectorN &activations) override | 
|   | Performs a basic feed-forward operation to compute the output from a set of activation values.  
  | 
|   | 
| void  | Reverse (ITrainingContextPtr context, LossFunctions lossFunction, const AZ::VectorN &activations, const AZ::VectorN &expected) override | 
|   | Accumulates the loss gradients given a loss function, an activation vector and a corresponding label vector.  
  | 
|   | 
| void  | GradientDescent (ITrainingContextPtr context, float learningRate) override | 
|   | Performs a gradient descent step and resets all gradient accumulators to zero.  
  | 
|   | 
| bool  | LoadModel () override | 
|   | Loads the current model parameters from the associated asset file.  
  | 
|   | 
| bool  | SaveModel () override | 
|   | Saves the current model parameters to the associated asset file.  
  | 
|   | 
| 
  | AZ_RTTI (INeuralNetwork, "{64E5B5B1-4A7D-489D-9A29-D9510BB7E17A}") | 
|   | 
| 
  | INeuralNetwork (INeuralNetwork &&)=default | 
|   | 
| 
  | INeuralNetwork (const INeuralNetwork &)=default | 
|   | 
| 
INeuralNetwork &  | operator= (INeuralNetwork &&)=default | 
|   | 
| 
INeuralNetwork &  | operator= (const INeuralNetwork &)=default | 
|   | 
| void  | add_ref () | 
|   | 
| 
void  | release () | 
|   | 
This is a basic multilayer perceptron neural network capable of basic training and feed forward operations.