read_dl_modelT_read_dl_modelReadDlModelReadDlModel (Operator)

Name

read_dl_modelT_read_dl_modelReadDlModelReadDlModel — Lesen eines Deep Learning-Modells aus einer Datei.

Signatur

read_dl_model( : : FileName : DLModelHandle)

Herror T_read_dl_model(const Htuple FileName, Htuple* DLModelHandle)

void ReadDlModel(const HTuple& FileName, HTuple* DLModelHandle)

void HDlModel::HDlModel(const HString& FileName)

void HDlModel::HDlModel(const char* FileName)

void HDlModel::HDlModel(const wchar_t* FileName)   (Nur Windows)

void HDlModel::ReadDlModel(const HString& FileName)

void HDlModel::ReadDlModel(const char* FileName)

void HDlModel::ReadDlModel(const wchar_t* FileName)   (Nur Windows)

static void HOperatorSet.ReadDlModel(HTuple fileName, out HTuple DLModelHandle)

public HDlModel(string fileName)

void HDlModel.ReadDlModel(string fileName)

Beschreibung

Der Operator read_dl_modelread_dl_modelReadDlModelReadDlModelReadDlModel liest ein Deep Learning-Modell, welches mit write_dl_modelwrite_dl_modelWriteDlModelWriteDlModelWriteDlModel geschrieben wurde. Als Ergebnis wird das Handle DLModelHandleDLModelHandleDLModelHandleDLModelHandleDLModelHandle zurückgegeben.

Das Modell wird aus der Datei FileNameFileNameFileNameFileNamefileName geladen. Die Datei wird hierbei sowohl im Verzeichnis $HALCONROOT/dl/, als auch im aktuell genutzten Verzeichnis gesucht.

Zu beachten ist, dass der laufzeitspezifische Parameter 'gpu'"gpu""gpu""gpu""gpu" des Modells nicht aus der Datei gelesen wird. Stattdessen wird er mit seinem Standardwert (siehe get_dl_model_paramget_dl_model_paramGetDlModelParamGetDlModelParamGetDlModelParam) initialisiert.

HALCON stellt Neuronale Netzwerke für die Klassifikation und semantische Segmentierung bereit, welche auf einem großen Datensatz vortrainiert wurden. Diese Neuronalen Netzwerke sind gute Ausgangspunkte, um damit eigene Neuronale Netze für ein individuelles Problem zu trainieren. Man beachte, dass Netzwerke für die Klassifikation nur mit Hilfe des Operators read_dl_classifierread_dl_classifierReadDlClassifierReadDlClassifierReadDlClassifier gelesen werden können. Für die Objektdetektion werden vortrainierte Klassifikations-Netzwerke beim Einlesen durch weitere Elemente ergänzt, hierfür steht der Operator create_dl_model_detectioncreate_dl_model_detectionCreateDlModelDetectionCreateDlModelDetectionCreateDlModelDetection zur Verfügung.

Folgende vortainierte Netzwerke stehen für die semantischen Segmentierung zur Verfügung:

'pretrained_dl_segmentation_compact.hdl'"pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl":

Dieses Neuronale Netzwerk ist besonders für feine Strukturen geeigenet und ist effizient bezüglich des Speicherverbrauchs und der Laufzeit.

Die Netzwerkarchitektur erlaubt Änderungen der Bilddimensionen, verlangt aber eine minimale Bildbreite 'image_width'"image_width""image_width""image_width""image_width" von 21 Pixeln und eine minimale Bildhöhe von 'image_height'"image_height""image_height""image_height""image_height" 21 Pixeln.

'pretrained_dl_segmentation_enhanced.hdl'"pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl":

Dieses Neuronale Netzwerk hat mehr verborgene Layer als 'pretrained_dl_segmentation_compact.hdl'"pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl" und ist daher für Segmentierungsaufgaben in komplexeren Szenarien besser geeignet.

Die Netzwerkarchitektur erlaubt Änderungen der Bilddimensionen, verlangt aber eine minimale Bildbreite 'image_width'"image_width""image_width""image_width""image_width" von 81 Pixeln und eine minimale Bildhöhe von 'image_height'"image_height""image_height""image_height""image_height" 81 Pixeln.

Für weitere Informationen zu Deep Learning-Modellen in HALCON siehe das Kapitel Deep Learning / Modell.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

FileNameFileNameFileNameFileNamefileName (input_control)  filename.read HTupleHTupleHtuple (string) (string) (HString) (char*)

Dateiname

Defaultwert: 'pretrained_dl_segmentation_compact.hdl' "pretrained_dl_segmentation_compact.hdl" "pretrained_dl_segmentation_compact.hdl" "pretrained_dl_segmentation_compact.hdl" "pretrained_dl_segmentation_compact.hdl"

Werteliste: 'pretrained_dl_segmentation_compact.hdl'"pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl""pretrained_dl_segmentation_compact.hdl", 'pretrained_dl_segmentation_enhanced.hdl'"pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl""pretrained_dl_segmentation_enhanced.hdl"

Dateiendung: .hdl

DLModelHandleDLModelHandleDLModelHandleDLModelHandleDLModelHandle (output_control)  dl_model HDlModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Deep Learning-Modells.

Ergebnis

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

Nachfolger

set_dl_model_paramset_dl_model_paramSetDlModelParamSetDlModelParamSetDlModelParam, get_dl_model_paramget_dl_model_paramGetDlModelParamGetDlModelParamGetDlModelParam, apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModel, train_dl_model_batchtrain_dl_model_batchTrainDlModelBatchTrainDlModelBatchTrainDlModelBatch

Alternativen

create_dl_model_detectioncreate_dl_model_detectionCreateDlModelDetectionCreateDlModelDetectionCreateDlModelDetection

Modul

Deep Learning Training