类 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 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
-
继承自类 org.opencv.ml 的字段StatModel
COMPRESSED_INPUT,PREPROCESSED_INPUT,RAW_OUTPUT,UPDATE_MODEL
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
ANN_MLP (long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static ANN_MLP
__fromPtr__ (long addr)
static ANN_MLP
create()
创建空模型 使用 StatModel::train 训练模型,Algorithm::load(filename) 加载预训练模型。 protected void
finalize()
double
getAnnealCoolingRatio()
参见:setAnnealCoolingRatiodouble
getAnnealFinalT()
参见:setAnnealFinalTdouble
getAnnealInitialT()
参见:setAnnealInitialTint
getAnnealItePerStep()
参见:setAnnealItePerStepdouble
getBackpropMomentumScale()
参见:setBackpropMomentumScaledouble
getBackpropWeightScale()
参见:setBackpropWeightScaleMat
getLayerSizes()
指定每一层神经元数量的整数向量,包括输入层和输出层。double
getRpropDW0()
参见:setRpropDW0double
getRpropDWMax()
参见:setRpropDWMaxdouble
getRpropDWMin()
参见:setRpropDWMindouble
getRpropDWMinus()
参见:setRpropDWMinusdouble
getRpropDWPlus()
参见:setRpropDWPlusTermCriteria
getTermCriteria()
参见:setTermCriteriaint
getTrainMethod()
返回当前训练方法Mat
getWeights (int layerIdx)
static ANN_MLP
load (java.lang.String filepath)
从文件中加载并创建一个序列化的 ANN 使用 ANN::save 将 ANN 序列化并存储到磁盘。void
setActivationFunction (int type)
为每个神经元初始化激活函数。void
setActivationFunction (int type, double param1)
为每个神经元初始化激活函数。void
setActivationFunction (int type, double param1, double param2)
为每个神经元初始化激活函数。void
setAnnealCoolingRatio (double val)
getAnnealCoolingRatio 参见:getAnnealCoolingRatiovoid
setAnnealFinalT (double val)
getAnnealFinalT 参见:getAnnealFinalTvoid
setAnnealInitialT (double val)
getAnnealInitialT 参见:getAnnealInitialTvoid
setAnnealItePerStep (int val)
getAnnealItePerStep 参见:getAnnealItePerStepvoid
setBackpropMomentumScale (double val)
getBackpropMomentumScale 参见:getBackpropMomentumScalevoid
setBackpropWeightScale (double val)
getBackpropWeightScale 参见:getBackpropWeightScalevoid
setLayerSizes (Mat _layer_sizes)
指定每一层神经元数量的整数向量,包括输入层和输出层。void
setRpropDW0 (double val)
getRpropDW0 参见:getRpropDW0void
setRpropDWMax (double val)
getRpropDWMax 参见:getRpropDWMaxvoid
setRpropDWMin (double val)
getRpropDWMin 参见:getRpropDWMinvoid
setRpropDWMinus (double val)
getRpropDWMinus 参见:getRpropDWMinusvoid
setRpropDWPlus (double val)
getRpropDWPlus 参见:getRpropDWPlusvoid
setTermCriteria (TermCriteria val)
getTermCriteria 参见:getTermCriteriavoid
setTrainMethod (int method)
设置训练方法和常用参数。void
setTrainMethod (int method, double param1)
设置训练方法和常用参数。void
setTrainMethod (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 的路径- 返回值
- 自动生成
-
-