trainf_ocr_class_mlp_protectedT_trainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected (Operator)
Name
trainf_ocr_class_mlp_protectedT_trainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected
— Trainieren eines OCR-Klassifikators mit Daten aus (geschützten)
Trainingsdateien.
Signatur
void TrainfOcrClassMlpProtected(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Password, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog)
double HOCRMlp::TrainfOcrClassMlpProtected(const HTuple& TrainingFile, const HTuple& Password, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const
double HOCRMlp::TrainfOcrClassMlpProtected(const HString& TrainingFile, const HString& Password, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const
double HOCRMlp::TrainfOcrClassMlpProtected(const char* TrainingFile, const char* Password, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const
double HOCRMlp::TrainfOcrClassMlpProtected(const wchar_t* TrainingFile, const wchar_t* Password, Hlong MaxIterations, double WeightTolerance, double ErrorTolerance, HTuple* ErrorLog) const
(Nur Windows)
static void HOperatorSet.TrainfOcrClassMlpProtected(HTuple OCRHandle, HTuple trainingFile, HTuple password, HTuple maxIterations, HTuple weightTolerance, HTuple errorTolerance, out HTuple error, out HTuple errorLog)
double HOCRMlp.TrainfOcrClassMlpProtected(HTuple trainingFile, HTuple password, int maxIterations, double weightTolerance, double errorTolerance, out HTuple errorLog)
double HOCRMlp.TrainfOcrClassMlpProtected(string trainingFile, string password, int maxIterations, double weightTolerance, double errorTolerance, out HTuple errorLog)
Beschreibung
trainf_ocr_class_mlp_protectedtrainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected
trainiert den OCR-Klassifikator
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle
mit den Trainingsdaten, die in den durch
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFile
angegebenen OCR-Trainingsdateien enthalten
sind. Die Funktionalität des Operators entspricht der Funktionalität
von trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlp
, mit der Erweiterung, dass
trainf_ocr_class_mlp_protectedtrainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected
sowohl ungeschützte als auch
geschützte Trainingsdateien verarbeiten kann. Geschützte
Trainingsdateien können nur mit dem korrekten Benutzerpasswort
PasswordPasswordPasswordPasswordpassword
verwendet werden. Falls genau ein Passwort
PasswordPasswordPasswordPasswordpassword
übergeben wird, werden alle Eingabedateien
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFile
mit diesem Passwort überprüft, ansonsten muss
die Anzahl der Passworte gleich der Anzahl der Eingabedateien sein,
und die Eingabedatei an Position n wird mit dem Passwort an Position
n überprüft. Für ungeschützte Trainingsdateien werden die
übergebenen Passworte ignoriert.
Für eine genauere Beschreibung der Operatorfunktionalität siehe
trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlp
. Das Konzept des Schützens von
OCR-Trainingsdaten in HALCON ist in protect_ocr_trainfprotect_ocr_trainfProtectOcrTrainfProtectOcrTrainfProtectOcrTrainf
beschrieben.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
Parameter
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandle
(input_control, Zustand wird modifiziert) ocr_mlp →
HOCRMlp, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des OCR-Klassifikators.
TrainingFileTrainingFileTrainingFileTrainingFiletrainingFile
(input_control) filename.read(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Namen der Trainingsdateien.
Defaultwert:
'ocr.trf'
"ocr.trf"
"ocr.trf"
"ocr.trf"
"ocr.trf"
Dateiendung: .trf
, .otr
PasswordPasswordPasswordPasswordpassword
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Passworte für geschützte Trainingsdateien.
MaxIterationsMaxIterationsMaxIterationsMaxIterationsmaxIterations
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (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
WeightToleranceWeightToleranceWeightToleranceWeightToleranceweightTolerance
(input_control) real →
HTupleHTupleHtuple (real) (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
ErrorToleranceErrorToleranceErrorToleranceErrorToleranceerrorTolerance
(input_control) real →
HTupleHTupleHtuple (real) (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
ErrorErrorErrorErrorerror
(output_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Mittlerer Fehler des MLP auf den Trainingsdaten.
ErrorLogErrorLogErrorLogErrorLogerrorLog
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Mittlerer Fehler des MLP auf den Trainingsdaten
pro Iteration des Optimierungsverfahrens.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
trainf_ocr_class_mlp_protectedtrainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Falls trainf_ocr_class_mlp_protectedtrainf_ocr_class_mlp_protectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtectedTrainfOcrClassMlpProtected
den Fehler 9211 (Matrix ist
nicht positiv definit) bei Preprocessing
=
'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" zu setzen. Ansonsten ist es auch möglich,
mehr Trainingsmuster hinzuzufügen.
Vorgänger
create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlp
,
write_ocr_trainfwrite_ocr_trainfWriteOcrTrainfWriteOcrTrainfWriteOcrTrainf
,
append_ocr_trainfappend_ocr_trainfAppendOcrTrainfAppendOcrTrainfAppendOcrTrainf
,
write_ocr_trainf_imagewrite_ocr_trainf_imageWriteOcrTrainfImageWriteOcrTrainfImageWriteOcrTrainfImage
,
protect_ocr_trainfprotect_ocr_trainfProtectOcrTrainfProtectOcrTrainfProtectOcrTrainf
Nachfolger
do_ocr_single_class_mlpdo_ocr_single_class_mlpDoOcrSingleClassMlpDoOcrSingleClassMlpDoOcrSingleClassMlp
,
do_ocr_multi_class_mlpdo_ocr_multi_class_mlpDoOcrMultiClassMlpDoOcrMultiClassMlpDoOcrMultiClassMlp
,
write_ocr_class_mlpwrite_ocr_class_mlpWriteOcrClassMlpWriteOcrClassMlpWriteOcrClassMlp
Alternativen
read_ocr_class_mlpread_ocr_class_mlpReadOcrClassMlpReadOcrClassMlpReadOcrClassMlp
Siehe auch
trainf_ocr_class_mlptrainf_ocr_class_mlpTrainfOcrClassMlpTrainfOcrClassMlpTrainfOcrClassMlp
,
train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlp
Modul
OCR/OCV