Ask Your Question

Revision history [back]

How do use CvANN_MLP::train flag?

I use Cv_ANN_MLP function,this my set params:

Mat layers(1, 3, CV_32SC1);
layers.at<int>(0) = TrainData.cols;
layers.at<int>(1) = nlayers;
layers.at<int>(2) = numCharacters;
ann.create(layers, CvANN_MLP::SIGMOID_SYM, 0.2, 0.9)

CvANN_MLP_TrainParams params; CvTermCriteria criteria; criteria.max_iter = 50000;
criteria.epsilon = 0.0000001f;
criteria.type = CV_TERMCRIT_EPS; params.train_method = CvANN_MLP_TrainParams::BACKPROP; params.bp_dw_scale = 0.05f; params.bp_moment_scale = 0.05f; params.term_crit = criteria;

ann.train(TrainData, trainClasses, Mat(), Mat(), params);

I don't know the difference of flag between UPDATE_WEIGHTS、NO_INPUT_SCALE、NO_OUTPUT_SCALE in "CvANN_MLP::train(const Mat& inputs, const Mat& outputs, const Mat& sampleWeights, const Mat& sampleIdx=Mat(), CvANN_MLP_TrainParams params=CvANN_MLP_TrainParams(), int flags=0 );".

and the BACKPROP train_method with above of flag have any effect.

can anyone explain for me,thanks.