//
// This file is auto-generated. Please don't modify it!
//
package org.opencv.ml;
import org.opencv.core.TermCriteria;
// C++: class CvANN_MLP_TrainParams
/**
* <p>Parameters of the MLP training algorithm. You can initialize the structure by
* a constructor or the individual parameters can be adjusted after the
* structure is created.</p>
*
* <p>The back-propagation algorithm parameters:</p>
*
* <p>Strength of the weight gradient term. The recommended value is about 0.1.</p>
*
* <p>Strength of the momentum term (the difference between weights on the 2
* previous iterations). This parameter provides some inertia to smooth the
* random fluctuations of the weights. It can vary from 0 (the feature is
* disabled) to 1 and beyond. The value 0.1 or so is good enough <code></p>
*
* <p>// C++ code:</p>
*
* <p>The RPROP algorithm parameters (see [RPROP93] for details):</p>
*
* <p>Initial value <em>Delta_0</em> of update-values <em>Delta_(ij)</em>.</p>
*
* <p>Increase factor <em>eta^+</em>. It must be >1.</p>
*
* <p>Decrease factor <em>eta^-</em>. It must be <1.</p>
*
* <p>Update-values lower limit <em>Delta_(min)</em>. It must be positive.</p>
*
* <p>Update-values upper limit <em>Delta_(max)</em>. It must be >1.</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/neural_networks.html#cvann-mlp-trainparams">org.opencv.ml.CvANN_MLP_TrainParams</a>
*/
public class CvANN_MLP_TrainParams {
protected final long nativeObj;
protected CvANN_MLP_TrainParams(long addr) { nativeObj = addr; }
public static final int
BACKPROP = 0,
RPROP = 1;
//
// C++: CvANN_MLP_TrainParams::CvANN_MLP_TrainParams()
//
/**
* <p>The constructors.</p>
*
* <p>By default the RPROP algorithm is used:</p>
*
* <p><code></p>
*
* <p>// C++ code:</p>
*
* <p>CvANN_MLP_TrainParams.CvANN_MLP_TrainParams()</p>
*
*
* <p>term_crit = cvTermCriteria(CV_TERMCRIT_ITER + CV_TERMCRIT_EPS, 1000, 0.01);</p>
*
* <p>train_method = RPROP;</p>
*
* <p>bp_dw_scale = bp_moment_scale = 0.1;</p>
*
* <p>rp_dw0 = 0.1; rp_dw_plus = 1.2; rp_dw_minus = 0.5;</p>
*
* <p>rp_dw_min = FLT_EPSILON; rp_dw_max = 50.;</p>
*
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/neural_networks.html#cvann-mlp-trainparams-cvann-mlp-trainparams">org.opencv.ml.CvANN_MLP_TrainParams.CvANN_MLP_TrainParams</a>
*/
public CvANN_MLP_TrainParams()
{
nativeObj = CvANN_MLP_TrainParams_0();
return;
}
//
// C++: TermCriteria CvANN_MLP_TrainParams::term_crit
//
public TermCriteria get_term_crit()
{
TermCriteria retVal = new TermCriteria(get_term_crit_0(nativeObj));
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::term_crit
//
public void set_term_crit(TermCriteria term_crit)
{
set_term_crit_0(nativeObj, term_crit.type, term_crit.maxCount, term_crit.epsilon);
return;
}
//
// C++: int CvANN_MLP_TrainParams::train_method
//
public int get_train_method()
{
int retVal = get_train_method_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::train_method
//
public void set_train_method(int train_method)
{
set_train_method_0(nativeObj, train_method);
return;
}
//
// C++: double CvANN_MLP_TrainParams::bp_dw_scale
//
public double get_bp_dw_scale()
{
double retVal = get_bp_dw_scale_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::bp_dw_scale
//
public void set_bp_dw_scale(double bp_dw_scale)
{
set_bp_dw_scale_0(nativeObj, bp_dw_scale);
return;
}
//
// C++: double CvANN_MLP_TrainParams::bp_moment_scale
//
public double get_bp_moment_scale()
{
double retVal = get_bp_moment_scale_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::bp_moment_scale
//
public void set_bp_moment_scale(double bp_moment_scale)
{
set_bp_moment_scale_0(nativeObj, bp_moment_scale);
return;
}
//
// C++: double CvANN_MLP_TrainParams::rp_dw0
//
public double get_rp_dw0()
{
double retVal = get_rp_dw0_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::rp_dw0
//
public void set_rp_dw0(double rp_dw0)
{
set_rp_dw0_0(nativeObj, rp_dw0);
return;
}
//
// C++: double CvANN_MLP_TrainParams::rp_dw_plus
//
public double get_rp_dw_plus()
{
double retVal = get_rp_dw_plus_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::rp_dw_plus
//
public void set_rp_dw_plus(double rp_dw_plus)
{
set_rp_dw_plus_0(nativeObj, rp_dw_plus);
return;
}
//
// C++: double CvANN_MLP_TrainParams::rp_dw_minus
//
public double get_rp_dw_minus()
{
double retVal = get_rp_dw_minus_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::rp_dw_minus
//
public void set_rp_dw_minus(double rp_dw_minus)
{
set_rp_dw_minus_0(nativeObj, rp_dw_minus);
return;
}
//
// C++: double CvANN_MLP_TrainParams::rp_dw_min
//
public double get_rp_dw_min()
{
double retVal = get_rp_dw_min_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::rp_dw_min
//
public void set_rp_dw_min(double rp_dw_min)
{
set_rp_dw_min_0(nativeObj, rp_dw_min);
return;
}
//
// C++: double CvANN_MLP_TrainParams::rp_dw_max
//
public double get_rp_dw_max()
{
double retVal = get_rp_dw_max_0(nativeObj);
return retVal;
}
//
// C++: void CvANN_MLP_TrainParams::rp_dw_max
//
public void set_rp_dw_max(double rp_dw_max)
{
set_rp_dw_max_0(nativeObj, rp_dw_max);
return;
}
@Override
protected void finalize() throws Throwable {
delete(nativeObj);
}
// C++: CvANN_MLP_TrainParams::CvANN_MLP_TrainParams()
private static native long CvANN_MLP_TrainParams_0();
// C++: TermCriteria CvANN_MLP_TrainParams::term_crit
private static native double[] get_term_crit_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::term_crit
private static native void set_term_crit_0(long nativeObj, int term_crit_type, int term_crit_maxCount, double term_crit_epsilon);
// C++: int CvANN_MLP_TrainParams::train_method
private static native int get_train_method_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::train_method
private static native void set_train_method_0(long nativeObj, int train_method);
// C++: double CvANN_MLP_TrainParams::bp_dw_scale
private static native double get_bp_dw_scale_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::bp_dw_scale
private static native void set_bp_dw_scale_0(long nativeObj, double bp_dw_scale);
// C++: double CvANN_MLP_TrainParams::bp_moment_scale
private static native double get_bp_moment_scale_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::bp_moment_scale
private static native void set_bp_moment_scale_0(long nativeObj, double bp_moment_scale);
// C++: double CvANN_MLP_TrainParams::rp_dw0
private static native double get_rp_dw0_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::rp_dw0
private static native void set_rp_dw0_0(long nativeObj, double rp_dw0);
// C++: double CvANN_MLP_TrainParams::rp_dw_plus
private static native double get_rp_dw_plus_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::rp_dw_plus
private static native void set_rp_dw_plus_0(long nativeObj, double rp_dw_plus);
// C++: double CvANN_MLP_TrainParams::rp_dw_minus
private static native double get_rp_dw_minus_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::rp_dw_minus
private static native void set_rp_dw_minus_0(long nativeObj, double rp_dw_minus);
// C++: double CvANN_MLP_TrainParams::rp_dw_min
private static native double get_rp_dw_min_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::rp_dw_min
private static native void set_rp_dw_min_0(long nativeObj, double rp_dw_min);
// C++: double CvANN_MLP_TrainParams::rp_dw_max
private static native double get_rp_dw_max_0(long nativeObj);
// C++: void CvANN_MLP_TrainParams::rp_dw_max
private static native void set_rp_dw_max_0(long nativeObj, double rp_dw_max);
// native support for java finalize()
private static native void delete(long nativeObj);
}