FemProcess
The GeMA Fem Process Plugin
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GmpFemNeuralNetwork Class Reference

A simple class to store additional Data required by Fem physics. More...

#include <gmpFemNeuralNetwork.h>

Collaboration diagram for GmpFemNeuralNetwork:
Collaboration graph
[legend]

Public Member Functions

 GmpFemNeuralNetwork (const GmLogCategory &logger)
 Constructor for an Artificial Neural Network used by physics and materials. More...
 
virtual ~GmpFemNeuralNetwork ()
 Destructor.
 
bool loadNetArchitecture (LuaTable &table)
 Loads the neural network architecture. More...
 
bool loadNetWeights (LuaTable &table)
 Loads the neural network weights. More...
 
bool loadNetBias (LuaTable &table)
 Loads the neural network bias. More...
 
bool loadNetInputSettings (LuaTable &table)
 Loads input settings of the neural network.
 
bool loadNetOutputSettings (LuaTable &table)
 Loads output settings of the neural network.
 
GmMatrixreadNetWeight (int i)
 reads weight at position i
 
bool predict (GmVector &x, GmVector &y)
 Evaluates the neural network. More...
 
bool normalization (GmVector &x, GmVector &xn)
 Normalization of input variables. More...
 
bool inverseNormalization (GmVector &x, GmVector &xn)
 Inverse normalization of output variables.
 
GmVector tanh (GmVector &x)
 Evaluates the hyperbolic tangent sigmoid activation function. More...
 
GmVector logsig (GmVector &x)
 Evaluates the logistic sigmoid activation function. More...
 
int stringOptionIndex (QString value, const char **optionNames)
 Looks for value in optionNames. If found returns the index.
 

Private Member Functions

const char ** activationFcnOptions ()
 Returns a NULL terminated vector with the available options for the solver type.
 

Private Attributes

GmVector _netConf
 Vector to define the ANN architecture.
 
GmMatrix _inputsettings
 Matrix with {min, max} of input variables (input range)
 
GmMatrix _outputSettings
 Matrix with {min, max} of output variables (output range)
 
QList< QString_activationFcn
 List with activation functions.
 
QList< GmVector_netBias
 List with neural bias.
 
QList< GmMatrix_netWeights
 List with neural weights.
 
const GmLogCategory_logger
 Reference to the plugin private logger.
 

Detailed Description

A simple class to store additional Data required by Fem physics.

Constructor & Destructor Documentation

◆ GmpFemNeuralNetwork()

GmpFemNeuralNetwork::GmpFemNeuralNetwork ( const GmLogCategory logger)

Constructor for an Artificial Neural Network used by physics and materials.

IMPORTANT: The ANN takes ownership of the given data vector and will destroy it on its destructor.

Member Function Documentation

◆ loadNetArchitecture()

bool GmpFemNeuralNetwork::loadNetArchitecture ( LuaTable table)

Loads the neural network architecture.

Loads neural network architecture.

◆ loadNetBias()

bool GmpFemNeuralNetwork::loadNetBias ( LuaTable table)

Loads the neural network bias.

Loads neural network bias.

◆ loadNetWeights()

bool GmpFemNeuralNetwork::loadNetWeights ( LuaTable table)

Loads the neural network weights.

Loads neural network weights.

◆ logsig()

GmVector GmpFemNeuralNetwork::logsig ( GmVector x)

Evaluates the logistic sigmoid activation function.

Evaluates the logistic sigmoid activation function y = 1.0 / (1.0 + exp(-x))

◆ normalization()

bool GmpFemNeuralNetwork::normalization ( GmVector x,
GmVector xn 
)

Normalization of input variables.

Normaization of input variables.

◆ predict()

bool GmpFemNeuralNetwork::predict ( GmVector x,
GmVector y 
)

Evaluates the neural network.

Loads output settings of the neural network.

◆ tanh()

GmVector GmpFemNeuralNetwork::tanh ( GmVector x)

Evaluates the hyperbolic tangent sigmoid activation function.

Evaluates the hyperbolic tangent sigmoid activation function y = tanh(x) = 2.0 /(1.0 + exp(-2.0 * x)) - 1.0.


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