apply_dl_classifierT_apply_dl_classifierApplyDlClassifierApplyDlClassifier (Operator)

Name

apply_dl_classifierT_apply_dl_classifierApplyDlClassifierApplyDlClassifier — Klassifizieren einer Menge an Bildern durch einen Deep Learning-basierten Klassifikator.

Warnung

apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifier ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen sollten stattdessen den allgemeinen CNN-basierten Operator apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModel verwenden.

Signatur

apply_dl_classifier(Images : : DLClassifierHandle : DLClassifierResultHandle)

Herror T_apply_dl_classifier(const Hobject Images, const Htuple DLClassifierHandle, Htuple* DLClassifierResultHandle)

void ApplyDlClassifier(const HObject& Images, const HTuple& DLClassifierHandle, HTuple* DLClassifierResultHandle)

HDlClassifierResult HDlClassifier::ApplyDlClassifier(const HImage& Images) const

void HDlClassifierResult::HDlClassifierResult(const HImage& Images, const HDlClassifier& DLClassifierHandle)

static void HOperatorSet.ApplyDlClassifier(HObject images, HTuple DLClassifierHandle, out HTuple DLClassifierResultHandle)

HDlClassifierResult HDlClassifier.ApplyDlClassifier(HImage images)

public HDlClassifierResult(HImage images, HDlClassifier DLClassifierHandle)

Beschreibung

apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifier klassifiziert die Menge an Bildern ImagesImagesImagesImagesimages durch des Deep Learning-basierten Klassifikators DLClassifierHandleDLClassifierHandleDLClassifierHandleDLClassifierHandleDLClassifierHandle. Die daraus resultierende Ergebnisse sind in DLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandle abgespeichert und können mit get_dl_classifier_resultget_dl_classifier_resultGetDlClassifierResultGetDlClassifierResultGetDlClassifierResult abgefragt werden.

Die Menge ImagesImagesImagesImagesimages kann eine beliebige Anzahl an Bildern enthalten, die in einem Operatoraufruf verarbeitet werden sollen, und ist im Allgemeinen unabhängig von dem Parameter 'batch_size'"batch_size""batch_size""batch_size""batch_size". Beachten Sie bitte, dass dies nur für apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifier gilt und nicht für train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatch. Der Operator apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifier klassifiziert stets einen Batch mit bis zu 'batch_size'"batch_size""batch_size""batch_size""batch_size" Bildern simultan, unabhängig davon, ob dieser aufgefüllt ist oder nicht. Falls die Menge ImagesImagesImagesImagesimages mehr als 'batch_size'"batch_size""batch_size""batch_size""batch_size" Bilder enthält, iteriert apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifier über die nötige Anzahl Batches der Größe 'batch_size'"batch_size""batch_size""batch_size""batch_size", um alle Bilder in ImagesImagesImagesImagesimages zu verarbeiten. Bei einer Menge ImagesImagesImagesImagesimages mit weniger als 'batch_size'"batch_size""batch_size""batch_size""batch_size" Bildern wird diese bis zu einem vollen Batch aufgefüllt, was bedeutet, dass die Laufzeit zur Verarbeitung eines solchen Batches unabhängig davon ist, ob dieser gefüllt ist oder nur ein einzelnes Bild enthält. Außerdem benötigt das Netzwerk stets den vollen Speicher, selbst wenn in einem Operatorenaufruf weniger als 'batch_size'"batch_size""batch_size""batch_size""batch_size" Bilder klassifiziert werden sollen. Deswegen ist es bei der Wahl der 'batch_size'"batch_size""batch_size""batch_size""batch_size" zu empfehlen, die Anzahl der Bilder, die in einem Operatorenaufruf übergeben werden, mit zu berücksichtigen, um eine größere Effizienz zu erzielen. Der aktuelle Wert von 'batch_size'"batch_size""batch_size""batch_size""batch_size" kann mittels get_dl_classifier_paramget_dl_classifier_paramGetDlClassifierParamGetDlClassifierParamGetDlClassifierParam abgefragt werden.

Es ist zu beachten, dass die Bilder für die Klassifikation Anforderungen erfüllen müssen betreffend Größe, Grauwertbereich, Anzahl Kanäle und Typ. Die genauen Bildanforderungen des Netzwerkes können mit get_dl_classifier_paramget_dl_classifier_paramGetDlClassifierParamGetDlClassifierParamGetDlClassifierParam abgerufen werden. Besonders hervorheben möchten wir den Datentyp: Die Bilder müssen vom Typ 'real' sein. Für eine möglicherweise notwendige Umwandlung steht der Operator convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeConvertImageType zur Verfügung. Die Prozedur preprocess_dl_classifier_images hilft Ihnen bei der Vorverarbeitung der Bilder entsprechend den spezifischen Anforderungen.

Das Konzept der Deep Learning-basierten Klassifikation ist in der Einleitung zu Kapitel Deep Learning / Klassifikation beschrieben. Der Ablauf mit diesem veralteten Operator ist im Kapitel Legacy / DL Klassifikation beschrieben.

Achtung

Um diesen Operator ausführen zu können, werden cuDNN und cuBLAS benötigt, falls 'runtime'"runtime""runtime""runtime""runtime" auf 'gpu'"gpu""gpu""gpu""gpu" gesetzt ist. Für weitere Details wird auf den „Installation Guide“, Abschnitt „Requirements for Deep Learning“, verwiesen.

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

ImagesImagesImagesImagesimages (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (real)

Tupel von Eingabebilder.

DLClassifierHandleDLClassifierHandleDLClassifierHandleDLClassifierHandleDLClassifierHandle (input_control)  dl_classifier HDlClassifier, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Deep Learning-basierten Klassifikators.

DLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandleDLClassifierResultHandle (output_control)  dl_classifier_result HDlClassifierResult, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle der Ergebnisse eines Deep Learning-basierten Klassifikators.

Ergebnis

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

Vorgänger

read_dl_classifierread_dl_classifierReadDlClassifierReadDlClassifierReadDlClassifier, train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatch, set_dl_classifier_paramset_dl_classifier_paramSetDlClassifierParamSetDlClassifierParamSetDlClassifierParam

Nachfolger

get_dl_classifier_resultget_dl_classifier_resultGetDlClassifierResultGetDlClassifierResultGetDlClassifierResult, clear_dl_classifierclear_dl_classifierClearDlClassifierClearDlClassifierClearDlClassifier

Alternativen

apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModel, classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlp, classify_class_svmclassify_class_svmClassifyClassSvmClassifyClassSvmClassifyClassSvm

Modul

Deep Learning Inference