类 ANN_MLP
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- org.opencv.ml.ANN_MLP
-
public class ANN_MLP extends StatModel
人工神经网络 - 多层感知器。与 ML 中许多其他一次构建和训练的模型不同,在 MLP 模型中,这些步骤是分开的。首先,使用非默认构造函数或 ANN_MLP::create 方法创建一个具有指定拓扑结构的网络。所有权重都设置为零。然后,使用一组输入和输出向量来训练网络。训练过程可以重复多次,也就是说,可以根据新的训练数据调整权重。StatModel::train 提供了额外的标志:ANN_MLP::TrainFlags。参见:参考:ml_intro_ann
-
-
字段摘要
字段 修饰符和类型 字段 描述 static intANNEALstatic intBACKPROPstatic intGAUSSIANstatic intIDENTITYstatic intLEAKYRELUstatic intNO_INPUT_SCALEstatic intNO_OUTPUT_SCALEstatic intRELUstatic intRPROPstatic intSIGMOID_SYMstatic intUPDATE_WEIGHTS-
继承自类 org.opencv.ml 的字段StatModel
COMPRESSED_INPUT,PREPROCESSED_INPUT,RAW_OUTPUT,UPDATE_MODEL
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protectedANN_MLP (long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static ANN_MLP__fromPtr__ (long addr)static ANN_MLPcreate()创建空模型 使用 StatModel::train 训练模型,Algorithm::load(filename) 加载预训练模型。 protected voidfinalize()doublegetAnnealCoolingRatio()参见:setAnnealCoolingRatiodoublegetAnnealFinalT()参见:setAnnealFinalTdoublegetAnnealInitialT()参见:setAnnealInitialTintgetAnnealItePerStep()参见:setAnnealItePerStepdoublegetBackpropMomentumScale()参见:setBackpropMomentumScaledoublegetBackpropWeightScale()参见:setBackpropWeightScaleMatgetLayerSizes()指定每一层神经元数量的整数向量,包括输入层和输出层。doublegetRpropDW0()参见:setRpropDW0doublegetRpropDWMax()参见:setRpropDWMaxdoublegetRpropDWMin()参见:setRpropDWMindoublegetRpropDWMinus()参见:setRpropDWMinusdoublegetRpropDWPlus()参见:setRpropDWPlusTermCriteriagetTermCriteria()参见:setTermCriteriaintgetTrainMethod()返回当前训练方法MatgetWeights (int layerIdx)static ANN_MLPload (java.lang.String filepath)从文件中加载并创建一个序列化的 ANN 使用 ANN::save 将 ANN 序列化并存储到磁盘。voidsetActivationFunction (int type)为每个神经元初始化激活函数。voidsetActivationFunction (int type, double param1)为每个神经元初始化激活函数。voidsetActivationFunction (int type, double param1, double param2)为每个神经元初始化激活函数。voidsetAnnealCoolingRatio (double val)getAnnealCoolingRatio 参见:getAnnealCoolingRatiovoidsetAnnealFinalT (double val)getAnnealFinalT 参见:getAnnealFinalTvoidsetAnnealInitialT (double val)getAnnealInitialT 参见:getAnnealInitialTvoidsetAnnealItePerStep (int val)getAnnealItePerStep 参见:getAnnealItePerStepvoidsetBackpropMomentumScale (double val)getBackpropMomentumScale 参见:getBackpropMomentumScalevoidsetBackpropWeightScale (double val)getBackpropWeightScale 参见:getBackpropWeightScalevoidsetLayerSizes (Mat _layer_sizes)指定每一层神经元数量的整数向量,包括输入层和输出层。voidsetRpropDW0 (double val)getRpropDW0 参见:getRpropDW0voidsetRpropDWMax (double val)getRpropDWMax 参见:getRpropDWMaxvoidsetRpropDWMin (double val)getRpropDWMin 参见:getRpropDWMinvoidsetRpropDWMinus (double val)getRpropDWMinus 参见:getRpropDWMinusvoidsetRpropDWPlus (double val)getRpropDWPlus 参见:getRpropDWPlusvoidsetTermCriteria (TermCriteria val)getTermCriteria 参见:getTermCriteriavoidsetTrainMethod (int method)设置训练方法和常用参数。voidsetTrainMethod (int method, double param1)设置训练方法和常用参数。voidsetTrainMethod (int method, double param1, double param2)设置训练方法和常用参数。-
继承自类 org.opencv.ml 的方法StatModel
calcError,empty,getVarCount,isClassifier,isTrained,predict,predict,predict,train,train,train
-
继承自类 org.opencv.core 的方法Algorithm
clear,getDefaultName,getNativeObjAddr,save
-
-
-
-
字段详情
-
IDENTITY
public static final int IDENTITY
- 另请参见
- 常量字段值
-
SIGMOID_SYM
public static final int SIGMOID_SYM
- 另请参见
- 常量字段值
-
GAUSSIAN
public static final int GAUSSIAN
- 另请参见
- 常量字段值
-
RELU
public static final int RELU
- 另请参见
- 常量字段值
-
LEAKYRELU
public static final int LEAKYRELU
- 另请参见
- 常量字段值
-
UPDATE_WEIGHTS
public static final int UPDATE_WEIGHTS
- 另请参见
- 常量字段值
-
NO_INPUT_SCALE
public static final int NO_INPUT_SCALE
- 另请参见
- 常量字段值
-
NO_OUTPUT_SCALE
public static final int NO_OUTPUT_SCALE
- 另请参见
- 常量字段值
-
BACKPROP
public static final int BACKPROP
- 另请参见
- 常量字段值
-
RPROP
public static final int RPROP
- 另请参见
- 常量字段值
-
ANNEAL
public static final int ANNEAL
- 另请参见
- 常量字段值
-
-
方法详情
-
__fromPtr__
public static ANN_MLP __fromPtr__(long addr)
-
setTrainMethod
public void setTrainMethod(int method, double param1, double param2)设置训练方法和常用参数。- 参数
method- 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。param1- 传递给 ANN_MLP::RPROP 的 setRpropDW0,ANN_MLP::BACKPROP 的 setBackpropWeightScale,以及 ANN_MLP::ANNEAL 的 initialT。param2- 传递给 ANN_MLP::RPROP 的 setRpropDWMin,ANN_MLP::BACKPROP 的 setBackpropMomentumScale,以及 ANN_MLP::ANNEAL 的 finalT。
-
setTrainMethod
public void setTrainMethod(int method, double param1)设置训练方法和常用参数。- 参数
method- 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。param1- 传递给 ANN_MLP::RPROP 的 setRpropDW0,ANN_MLP::BACKPROP 的 setBackpropWeightScale,以及 ANN_MLP::ANNEAL 的 initialT。
-
setTrainMethod
public void setTrainMethod(int method)
设置训练方法和常用参数。- 参数
method- 默认值为 ANN_MLP::RPROP。参见 ANN_MLP::TrainingMethods。
-
getTrainMethod
public int getTrainMethod()
返回当前训练方法- 返回值
- 自动生成
-
setActivationFunction
public void setActivationFunction(int type, double param1, double param2)初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。- 参数
type- 激活函数的类型。参见 ANN_MLP::ActivationFunctions。param1- 激活函数的第一个参数,\(α\)。默认值为 0。param2- 激活函数的第二个参数,\(β\)。默认值为 0。
-
setActivationFunction
public void setActivationFunction(int type, double param1)初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。- 参数
type- 激活函数的类型。参见 ANN_MLP::ActivationFunctions。param1- 激活函数的第一个参数,\(α\)。默认值为 0。
-
setActivationFunction
public void setActivationFunction(int type)
初始化每个神经元的激活函数。目前默认的并且唯一完全支持的激活函数是 ANN_MLP::SIGMOID_SYM。- 参数
type- 激活函数的类型。参见 ANN_MLP::ActivationFunctions。
-
setLayerSizes
public void setLayerSizes(Mat _layer_sizes)
整数向量,指定每一层的神经元数量,包括输入层和输出层。第一个元素指定输入层中的元素数量。最后一个元素指定输出层中的元素数量。默认值为空 Mat。参见:getLayerSizes- 参数
_layer_sizes- 自动生成
-
getLayerSizes
public Mat getLayerSizes()
整数向量,指定每一层的神经元数量,包括输入层和输出层。第一个元素指定输入层中的元素数量。最后一个元素指定输出层中的元素数量。参见:setLayerSizes- 返回值
- 自动生成
-
getTermCriteria
public TermCriteria getTermCriteria()
参见:setTermCriteria- 返回值
- 自动生成
-
setTermCriteria
public void setTermCriteria(TermCriteria val)
getTermCriteria 参见:getTermCriteria- 参数
val- 自动生成
-
getBackpropWeightScale
public double getBackpropWeightScale()
参见:setBackpropWeightScale- 返回值
- 自动生成
-
setBackpropWeightScale
public void setBackpropWeightScale(double val)
getBackpropWeightScale 参见:getBackpropWeightScale- 参数
val- 自动生成
-
getBackpropMomentumScale
public double getBackpropMomentumScale()
参见:setBackpropMomentumScale- 返回值
- 自动生成
-
setBackpropMomentumScale
public void setBackpropMomentumScale(double val)
getBackpropMomentumScale 参见:getBackpropMomentumScale- 参数
val- 自动生成
-
getRpropDW0
public double getRpropDW0()
参见:setRpropDW0- 返回值
- 自动生成
-
setRpropDW0
public void setRpropDW0(double val)
getRpropDW0 参见:getRpropDW0- 参数
val- 自动生成
-
getRpropDWPlus
public double getRpropDWPlus()
参见:setRpropDWPlus- 返回值
- 自动生成
-
setRpropDWPlus
public void setRpropDWPlus(double val)
getRpropDWPlus 参见:getRpropDWPlus- 参数
val- 自动生成
-
getRpropDWMinus
public double getRpropDWMinus()
参见:setRpropDWMinus- 返回值
- 自动生成
-
setRpropDWMinus
public void setRpropDWMinus(double val)
getRpropDWMinus 参见:getRpropDWMinus- 参数
val- 自动生成
-
getRpropDWMin
public double getRpropDWMin()
参见:setRpropDWMin- 返回值
- 自动生成
-
setRpropDWMin
public void setRpropDWMin(double val)
getRpropDWMin 参见:getRpropDWMin- 参数
val- 自动生成
-
getRpropDWMax
public double getRpropDWMax()
参见:setRpropDWMax- 返回值
- 自动生成
-
setRpropDWMax
public void setRpropDWMax(double val)
getRpropDWMax 参见:getRpropDWMax- 参数
val- 自动生成
-
getAnnealInitialT
public double getAnnealInitialT()
参见:setAnnealInitialT- 返回值
- 自动生成
-
setAnnealInitialT
public void setAnnealInitialT(double val)
getAnnealInitialT 参见:getAnnealInitialT- 参数
val- 自动生成
-
getAnnealFinalT
public double getAnnealFinalT()
参见:setAnnealFinalT- 返回值
- 自动生成
-
setAnnealFinalT
public void setAnnealFinalT(double val)
getAnnealFinalT 参见:getAnnealFinalT- 参数
val- 自动生成
-
getAnnealCoolingRatio
public double getAnnealCoolingRatio()
参见:setAnnealCoolingRatio- 返回值
- 自动生成
-
setAnnealCoolingRatio
public void setAnnealCoolingRatio(double val)
getAnnealCoolingRatio 参见:getAnnealCoolingRatio- 参数
val- 自动生成
-
getAnnealItePerStep
public int getAnnealItePerStep()
参见:setAnnealItePerStep- 返回值
- 自动生成
-
setAnnealItePerStep
public void setAnnealItePerStep(int val)
getAnnealItePerStep 参见:getAnnealItePerStep- 参数
val- 自动生成
-
getWeights
public Mat getWeights(int layerIdx)
-
create
public static ANN_MLP create()
创建空模型。使用 StatModel::train 训练模型,使用 Algorithm::load<ANN_MLP>(filename) 加载预训练模型。注意,train 方法有可选标志:ANN_MLP::TrainFlags。- 返回值
- 自动生成
-
load
public static ANN_MLP load(java.lang.String filepath)
从文件中加载并创建一个序列化的 ANN。使用 ANN::save 将 ANN 序列化并存储到磁盘。通过使用此函数和文件的路径再次加载 ANN。- 参数
filepath- 序列化 ANN 的路径- 返回值
- 自动生成
-
-