Package org.opencv.ml
Class ANN_MLP
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- org.opencv.ml.ANN_MLP
-
public class ANN_MLP extends StatModel
Artificial Neural Networks - Multi-Layer Perceptrons. Unlike many other models in ML that are constructed and trained at once, in the MLP model these steps are separated. First, a network with the specified topology is created using the non-default constructor or the method ANN_MLP::create. All the weights are set to zeros. Then, the network is trained using a set of input and output vectors. The training procedure can be repeated more than once, that is, the weights can be adjusted based on the new training data. Additional flags for StatModel::train are available: ANN_MLP::TrainFlags. SEE: REF: ml_intro_ann
-
-
Field Summary
Fields Modifier and Type Field Description static int
ANNEAL
static int
BACKPROP
static int
GAUSSIAN
static int
IDENTITY
static int
LEAKYRELU
static int
NO_INPUT_SCALE
static int
NO_OUTPUT_SCALE
static int
RELU
static int
RPROP
static int
SIGMOID_SYM
static int
UPDATE_WEIGHTS
-
Fields inherited from class org.opencv.ml.StatModel
COMPRESSED_INPUT, PREPROCESSED_INPUT, RAW_OUTPUT, UPDATE_MODEL
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ANN_MLP(long addr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ANN_MLP
__fromPtr__(long addr)
static ANN_MLP
create()
Creates empty model Use StatModel::train to train the model, Algorithm::load<ANN_MLP>(filename) to load the pre-trained model.protected void
finalize()
double
getAnnealCoolingRatio()
SEE: setAnnealCoolingRatiodouble
getAnnealFinalT()
SEE: setAnnealFinalTdouble
getAnnealInitialT()
SEE: setAnnealInitialTint
getAnnealItePerStep()
SEE: setAnnealItePerStepdouble
getBackpropMomentumScale()
SEE: setBackpropMomentumScaledouble
getBackpropWeightScale()
SEE: setBackpropWeightScaleMat
getLayerSizes()
Integer vector specifying the number of neurons in each layer including the input and output layers.double
getRpropDW0()
SEE: setRpropDW0double
getRpropDWMax()
SEE: setRpropDWMaxdouble
getRpropDWMin()
SEE: setRpropDWMindouble
getRpropDWMinus()
SEE: setRpropDWMinusdouble
getRpropDWPlus()
SEE: setRpropDWPlusTermCriteria
getTermCriteria()
SEE: setTermCriteriaint
getTrainMethod()
Returns current training methodMat
getWeights(int layerIdx)
static ANN_MLP
load(String filepath)
Loads and creates a serialized ANN from a file Use ANN::save to serialize and store an ANN to disk.void
setActivationFunction(int type)
Initialize the activation function for each neuron.void
setActivationFunction(int type, double param1)
Initialize the activation function for each neuron.void
setActivationFunction(int type, double param1, double param2)
Initialize the activation function for each neuron.void
setAnnealCoolingRatio(double val)
getAnnealCoolingRatio SEE: getAnnealCoolingRatiovoid
setAnnealFinalT(double val)
getAnnealFinalT SEE: getAnnealFinalTvoid
setAnnealInitialT(double val)
getAnnealInitialT SEE: getAnnealInitialTvoid
setAnnealItePerStep(int val)
getAnnealItePerStep SEE: getAnnealItePerStepvoid
setBackpropMomentumScale(double val)
getBackpropMomentumScale SEE: getBackpropMomentumScalevoid
setBackpropWeightScale(double val)
getBackpropWeightScale SEE: getBackpropWeightScalevoid
setLayerSizes(Mat _layer_sizes)
Integer vector specifying the number of neurons in each layer including the input and output layers.void
setRpropDW0(double val)
getRpropDW0 SEE: getRpropDW0void
setRpropDWMax(double val)
getRpropDWMax SEE: getRpropDWMaxvoid
setRpropDWMin(double val)
getRpropDWMin SEE: getRpropDWMinvoid
setRpropDWMinus(double val)
getRpropDWMinus SEE: getRpropDWMinusvoid
setRpropDWPlus(double val)
getRpropDWPlus SEE: getRpropDWPlusvoid
setTermCriteria(TermCriteria val)
getTermCriteria SEE: getTermCriteriavoid
setTrainMethod(int method)
Sets training method and common parameters.void
setTrainMethod(int method, double param1)
Sets training method and common parameters.void
setTrainMethod(int method, double param1, double param2)
Sets training method and common parameters.-
Methods inherited from class org.opencv.ml.StatModel
calcError, empty, getVarCount, isClassifier, isTrained, predict, predict, predict, train, train, train
-
Methods inherited from class org.opencv.core.Algorithm
clear, getDefaultName, getNativeObjAddr, save
-
-
-
-
Field Detail
-
IDENTITY
public static final int IDENTITY
- See Also:
- Constant Field Values
-
SIGMOID_SYM
public static final int SIGMOID_SYM
- See Also:
- Constant Field Values
-
GAUSSIAN
public static final int GAUSSIAN
- See Also:
- Constant Field Values
-
RELU
public static final int RELU
- See Also:
- Constant Field Values
-
LEAKYRELU
public static final int LEAKYRELU
- See Also:
- Constant Field Values
-
UPDATE_WEIGHTS
public static final int UPDATE_WEIGHTS
- See Also:
- Constant Field Values
-
NO_INPUT_SCALE
public static final int NO_INPUT_SCALE
- See Also:
- Constant Field Values
-
NO_OUTPUT_SCALE
public static final int NO_OUTPUT_SCALE
- See Also:
- Constant Field Values
-
BACKPROP
public static final int BACKPROP
- See Also:
- Constant Field Values
-
RPROP
public static final int RPROP
- See Also:
- Constant Field Values
-
ANNEAL
public static final int ANNEAL
- See Also:
- Constant Field Values
-
-
Method Detail
-
__fromPtr__
public static ANN_MLP __fromPtr__(long addr)
-
setTrainMethod
public void setTrainMethod(int method, double param1, double param2)
Sets training method and common parameters.- Parameters:
method
- Default value is ANN_MLP::RPROP. See ANN_MLP::TrainingMethods.param1
- passed to setRpropDW0 for ANN_MLP::RPROP and to setBackpropWeightScale for ANN_MLP::BACKPROP and to initialT for ANN_MLP::ANNEAL.param2
- passed to setRpropDWMin for ANN_MLP::RPROP and to setBackpropMomentumScale for ANN_MLP::BACKPROP and to finalT for ANN_MLP::ANNEAL.
-
setTrainMethod
public void setTrainMethod(int method, double param1)
Sets training method and common parameters.- Parameters:
method
- Default value is ANN_MLP::RPROP. See ANN_MLP::TrainingMethods.param1
- passed to setRpropDW0 for ANN_MLP::RPROP and to setBackpropWeightScale for ANN_MLP::BACKPROP and to initialT for ANN_MLP::ANNEAL.
-
setTrainMethod
public void setTrainMethod(int method)
Sets training method and common parameters.- Parameters:
method
- Default value is ANN_MLP::RPROP. See ANN_MLP::TrainingMethods.
-
getTrainMethod
public int getTrainMethod()
Returns current training method- Returns:
- automatically generated
-
setActivationFunction
public void setActivationFunction(int type, double param1, double param2)
Initialize the activation function for each neuron. Currently the default and the only fully supported activation function is ANN_MLP::SIGMOID_SYM.- Parameters:
type
- The type of activation function. See ANN_MLP::ActivationFunctions.param1
- The first parameter of the activation function, \(\alpha\). Default value is 0.param2
- The second parameter of the activation function, \(\beta\). Default value is 0.
-
setActivationFunction
public void setActivationFunction(int type, double param1)
Initialize the activation function for each neuron. Currently the default and the only fully supported activation function is ANN_MLP::SIGMOID_SYM.- Parameters:
type
- The type of activation function. See ANN_MLP::ActivationFunctions.param1
- The first parameter of the activation function, \(\alpha\). Default value is 0.
-
setActivationFunction
public void setActivationFunction(int type)
Initialize the activation function for each neuron. Currently the default and the only fully supported activation function is ANN_MLP::SIGMOID_SYM.- Parameters:
type
- The type of activation function. See ANN_MLP::ActivationFunctions.
-
setLayerSizes
public void setLayerSizes(Mat _layer_sizes)
Integer vector specifying the number of neurons in each layer including the input and output layers. The very first element specifies the number of elements in the input layer. The last element - number of elements in the output layer. Default value is empty Mat. SEE: getLayerSizes- Parameters:
_layer_sizes
- automatically generated
-
getLayerSizes
public Mat getLayerSizes()
Integer vector specifying the number of neurons in each layer including the input and output layers. The very first element specifies the number of elements in the input layer. The last element - number of elements in the output layer. SEE: setLayerSizes- Returns:
- automatically generated
-
getTermCriteria
public TermCriteria getTermCriteria()
SEE: setTermCriteria- Returns:
- automatically generated
-
setTermCriteria
public void setTermCriteria(TermCriteria val)
getTermCriteria SEE: getTermCriteria- Parameters:
val
- automatically generated
-
getBackpropWeightScale
public double getBackpropWeightScale()
SEE: setBackpropWeightScale- Returns:
- automatically generated
-
setBackpropWeightScale
public void setBackpropWeightScale(double val)
getBackpropWeightScale SEE: getBackpropWeightScale- Parameters:
val
- automatically generated
-
getBackpropMomentumScale
public double getBackpropMomentumScale()
SEE: setBackpropMomentumScale- Returns:
- automatically generated
-
setBackpropMomentumScale
public void setBackpropMomentumScale(double val)
getBackpropMomentumScale SEE: getBackpropMomentumScale- Parameters:
val
- automatically generated
-
getRpropDW0
public double getRpropDW0()
SEE: setRpropDW0- Returns:
- automatically generated
-
setRpropDW0
public void setRpropDW0(double val)
getRpropDW0 SEE: getRpropDW0- Parameters:
val
- automatically generated
-
getRpropDWPlus
public double getRpropDWPlus()
SEE: setRpropDWPlus- Returns:
- automatically generated
-
setRpropDWPlus
public void setRpropDWPlus(double val)
getRpropDWPlus SEE: getRpropDWPlus- Parameters:
val
- automatically generated
-
getRpropDWMinus
public double getRpropDWMinus()
SEE: setRpropDWMinus- Returns:
- automatically generated
-
setRpropDWMinus
public void setRpropDWMinus(double val)
getRpropDWMinus SEE: getRpropDWMinus- Parameters:
val
- automatically generated
-
getRpropDWMin
public double getRpropDWMin()
SEE: setRpropDWMin- Returns:
- automatically generated
-
setRpropDWMin
public void setRpropDWMin(double val)
getRpropDWMin SEE: getRpropDWMin- Parameters:
val
- automatically generated
-
getRpropDWMax
public double getRpropDWMax()
SEE: setRpropDWMax- Returns:
- automatically generated
-
setRpropDWMax
public void setRpropDWMax(double val)
getRpropDWMax SEE: getRpropDWMax- Parameters:
val
- automatically generated
-
getAnnealInitialT
public double getAnnealInitialT()
SEE: setAnnealInitialT- Returns:
- automatically generated
-
setAnnealInitialT
public void setAnnealInitialT(double val)
getAnnealInitialT SEE: getAnnealInitialT- Parameters:
val
- automatically generated
-
getAnnealFinalT
public double getAnnealFinalT()
SEE: setAnnealFinalT- Returns:
- automatically generated
-
setAnnealFinalT
public void setAnnealFinalT(double val)
getAnnealFinalT SEE: getAnnealFinalT- Parameters:
val
- automatically generated
-
getAnnealCoolingRatio
public double getAnnealCoolingRatio()
SEE: setAnnealCoolingRatio- Returns:
- automatically generated
-
setAnnealCoolingRatio
public void setAnnealCoolingRatio(double val)
getAnnealCoolingRatio SEE: getAnnealCoolingRatio- Parameters:
val
- automatically generated
-
getAnnealItePerStep
public int getAnnealItePerStep()
SEE: setAnnealItePerStep- Returns:
- automatically generated
-
setAnnealItePerStep
public void setAnnealItePerStep(int val)
getAnnealItePerStep SEE: getAnnealItePerStep- Parameters:
val
- automatically generated
-
getWeights
public Mat getWeights(int layerIdx)
-
create
public static ANN_MLP create()
Creates empty model Use StatModel::train to train the model, Algorithm::load<ANN_MLP>(filename) to load the pre-trained model. Note that the train method has optional flags: ANN_MLP::TrainFlags.- Returns:
- automatically generated
-
load
public static ANN_MLP load(String filepath)
Loads and creates a serialized ANN from a file Use ANN::save to serialize and store an ANN to disk. Load the ANN from this file again, by calling this function with the path to the file.- Parameters:
filepath
- path to serialized ANN- Returns:
- automatically generated
-
-