KlassenKlassenKlassenKlassen | | | | Operatoren

trainf_ocr_class_mlpT_trainf_ocr_class_mlpTrainfOcrClassMlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlp (Operator)

Name

trainf_ocr_class_mlpT_trainf_ocr_class_mlpTrainfOcrClassMlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlp — Trainieren eines OCR-Klassifikators.

Signatur

trainf_ocr_class_mlp( : : OCRHandle, TrainingFile, MaxIterations, WeightTolerance, ErrorTolerance : Error, ErrorLog)

Herror T_trainf_ocr_class_mlp(const Htuple OCRHandle, const Htuple TrainingFile, const Htuple MaxIterations, const Htuple WeightTolerance, const Htuple ErrorTolerance, Htuple* Error, Htuple* ErrorLog)

Herror trainf_ocr_class_mlp(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog)

double HOCRMlp::TrainfOcrClassMlp(const HTuple& TrainingFile, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* ErrorLog) const

void TrainfOcrClassMlp(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog)

double HOCRMlp::TrainfOcrClassMlp(const HTuple& TrainingFile, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const

double HOCRMlp::TrainfOcrClassMlp(const HString& TrainingFile, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const

double HOCRMlp::TrainfOcrClassMlp(const char* TrainingFile, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const

void HOperatorSetX.TrainfOcrClassMlp(
[in] VARIANT OCRHandle, [in] VARIANT TrainingFile, [in] VARIANT MaxIterations, [in] VARIANT WeightTolerance, [in] VARIANT ErrorTolerance, [out] VARIANT* Error, [out] VARIANT* ErrorLog)

double HOCRMlpX.TrainfOcrClassMlp(
[in] VARIANT TrainingFile, [in] Hlong MaxIterations, [in] double WeightTolerance, [in] double ErrorTolerance, [out] VARIANT* ErrorLog)

static void HOperatorSet.TrainfOcrClassMlp(HTuple OCRHandle, HTuple trainingFile, HTuple maxIterations, HTuple weightTolerance, HTuple errorTolerance, out HTuple error, out HTuple errorLog)

double HOCRMlp.TrainfOcrClassMlp(HTuple trainingFile, int maxIterations, double weightTolerance, double errorTolerance, out HTuple errorLog)

double HOCRMlp.TrainfOcrClassMlp(string trainingFile, int maxIterations, double weightTolerance, double errorTolerance, out HTuple errorLog)

Beschreibung

trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlp trainiert den OCR-Klassifikator OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleOCRHandle mit den Trainingszeichen, die in den durch TrainingFileTrainingFileTrainingFileTrainingFileTrainingFiletrainingFile angegebenen OCR-Trainingsdateien enthalten sind. Die Trainingsdateien müssen zuvor, z.B. mit write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainf, erzeugt worden sein.

Die restlichen Parameter haben dieselbe Bedeutung wie bei train_class_mlptrain_class_mlpTrainClassMlptrain_class_mlpTrainClassMlpTrainClassMlp und sind dort ausführlich beschrieben. Eine Regularisierung des OCR-Klassifikators und eine automatische Bestimmung der Regularisierungsparameter (siehe set_regularization_params_ocr_class_mlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlp) wird beim Training berücksichtigt. Weiterhin werden vor dem eigentlichen Training die Trainingsdaten für die Rückweisungsklasse erzeugt, falls eine Rückweisungsklasse mittels set_rejection_params_ocr_class_mlpset_rejection_params_ocr_class_mlpSetRejectionParamsOcrClassMlpset_rejection_params_ocr_class_mlpSetRejectionParamsOcrClassMlpSetRejectionParamsOcrClassMlp spezifiziert wurde.

Es ist zu beachten, dass Trainingszeichen, die keine entsprechende Klasse im Klassifikator OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleOCRHandle haben, verworfen werden.

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleOCRHandle (input_control, Zustand wird modifiziert)  ocr_mlp HOCRMlp, HTupleHTupleHOCRMlp, HTupleHOCRMlpX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des OCR-Klassifikators.

TrainingFileTrainingFileTrainingFileTrainingFileTrainingFiletrainingFile (input_control)  filename.read(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der Trainingsdateien.

Defaultwert: 'ocr.trf' "ocr.trf" "ocr.trf" "ocr.trf" "ocr.trf" "ocr.trf"

Dateiendung: .trf, .otr

MaxIterationsMaxIterationsMaxIterationsMaxIterationsMaxIterationsmaxIterations (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Maximale Anzahl von Iterationen des Optimierungsverfahrens.

Defaultwert: 200

Wertevorschläge: 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300

WeightToleranceWeightToleranceWeightToleranceWeightToleranceWeightToleranceweightTolerance (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Schwellwert für den Unterschied der Gewichte des MLP zwischen zwei Iterationen des Optimierungsverfahrens.

Defaultwert: 1.0

Wertevorschläge: 1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001

Restriktion: WeightTolerance >= 1.0e-8

ErrorToleranceErrorToleranceErrorToleranceErrorToleranceErrorToleranceerrorTolerance (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Schwellwert für den Unterschied des mittleren Fehlers des MLP auf den Trainingsdaten zwischen zwei Iterationen des Optimierungsverfahrens.

Defaultwert: 0.01

Wertevorschläge: 1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001

Restriktion: ErrorTolerance >= 1.0e-8

ErrorErrorErrorErrorErrorerror (output_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Mittlerer Fehler des MLP auf den Trainingsdaten.

ErrorLogErrorLogErrorLogErrorLogErrorLogerrorLog (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Mittlerer Fehler des MLP auf den Trainingsdaten pro Iteration des Optimierungsverfahrens.

Beispiel (HDevelop)

* Train an OCR classifier
read_ocr_trainf_names ('ocr.trf', CharacterNames, CharacterCount)
create_ocr_class_mlp (8, 10, 'constant', 'default', CharacterNames, 80, \
                      'none', 81, 42, OCRHandle)
trainf_ocr_class_mlp (OCRHandle, 'ocr.trf', 100, 1, 0.01, Error, ErrorLog)
write_ocr_class_mlp (OCRHandle, 'ocr.omc')
clear_ocr_class_mlp (OCRHandle)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlp den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Falls trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlp den Fehler 9211 (Matrix ist nicht positiv definit) bei Preprocessing = 'canonical_variates'"canonical_variates""canonical_variates""canonical_variates""canonical_variates""canonical_variates" zurückliefert, bedeutet dies typischerweise, dass für die verschiedenen Klassen zu wenige Trainingsmuster gespeichert worden sind. Für diesen Fall ist es sinnvoll, Preprocessing auf 'normalization'"normalization""normalization""normalization""normalization""normalization" zu setzen. Ansonsten ist es auch möglich, mehr Trainingsmuster hinzuzufügen.

Vorgänger

create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlp, write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainf, append_ocr_trainfappend_ocr_trainfAppendOcrTrainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainf, write_ocr_trainf_imagewrite_ocr_trainf_imageWriteOcrTrainfImagewrite_ocr_trainf_imageWriteOcrTrainfImageWriteOcrTrainfImage, set_regularization_params_ocr_class_mlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpset_regularization_params_ocr_class_mlpSetRegularizationParamsOcrClassMlpSetRegularizationParamsOcrClassMlp

Nachfolger

do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlp, do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlp, write_ocr_class_mlpwrite_ocr_class_mlpWriteOcrClassMlpwrite_ocr_class_mlpWriteOcrClassMlpWriteOcrClassMlp

Alternativen

read_ocr_class_mlpread_ocr_class_mlpReadOcrClassMlpread_ocr_class_mlpReadOcrClassMlpReadOcrClassMlp

Siehe auch

train_class_mlptrain_class_mlpTrainClassMlptrain_class_mlpTrainClassMlpTrainClassMlp

Modul

OCR/OCV


KlassenKlassenKlassenKlassen | | | | Operatoren