extend_dl_continual_learningT_extend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning (Operator)

Name

extend_dl_continual_learningT_extend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning — Erweitern ein Modell für Continual Learning mit neuen Daten.

Signatur

extend_dl_continual_learning( : : DLModelHandle, DLDataset, GenParam : )

Herror T_extend_dl_continual_learning(const Htuple DLModelHandle, const Htuple DLDataset, const Htuple GenParam)

void ExtendDlContinualLearning(const HTuple& DLModelHandle, const HTuple& DLDataset, const HTuple& GenParam)

static void HOperatorSet.ExtendDlContinualLearning(HTuple DLModelHandle, HTuple DLDataset, HTuple genParam)

def extend_dl_continual_learning(dlmodel_handle: HHandle, dldataset: HHandle, gen_param: HHandle) -> None

Beschreibung

extend_dl_continual_learningextend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning erweitert ein Modell für Continual Learning DLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle mit 'type'"type""type""type""type" = 'classification'"classification""classification""classification""classification" mit neuen Daten, bereitgestellt von DLDatasetDLDatasetDLDatasetDLDatasetdldataset. Die neuen Daten können entweder neue Klassen beinhalten, die das Modell vorherzusagen lernen soll, oder neue Samples einer bestehenden Klasse, um das Modell für diese bestimmte Klasse zu verbessern. DLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle lernt auf eine für Continual Learning spezifische Weise aus den bereitgestellten Daten. Nach dem Aufruf von extend_dl_continual_learningextend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning kann das Modell entweder mehr Klassen vorhersagen oder das interne Wissen über vorhandene Klassen wurde erweitert, je nach dem bereitgestellten Datensatz. Siehe Deep Learning / Continual Learning für weitere Informationen.

DLDatasetDLDatasetDLDatasetDLDatasetdldataset darf nur neue Daten enthalten, die das Modell lernen soll. Es ist nicht erforderlich, Datensamples aus früheren Continual Learning Schritten bereitzustellen, da das Modell zuvor gelernte Klassen beibehält. Außerdem kann extend_dl_continual_learningextend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning mit einem für eine AI 2-Schnittstelle optimierten DLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle aufgerufen werden. Dadurch kann das Continual Learning Modell direkt auf einem Edge-Gerät erweitert werden.

Der Operator erwartet einen Datensatz, der mit der mitgelieferten Prozedur preprocess_dl_dataset vorverarbeitet wurde. Änderungen, die innerhalb der Prozedur an den Pfaden der Samples vorgenommen wurden, werden nicht unterstützt und führen zu Fehlern. extend_dl_continual_learningextend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning ändert die ClassIDs des bereitgestellten DLDatasetDLDatasetDLDatasetDLDatasetdldataset intern, damit sie mit den ClassIDs des bereitgestellten Modells übereinstimmen. Neue unbekannte Klassen erhalten eine neue und unbenutzte ClassID. Die ClassID bekannter Klassen innerhalb von DLDatasetDLDatasetDLDatasetDLDatasetdldataset wird in die vom Modell vorgegebene ClassID geändert. Diese Änderungen werden sowohl auf den bereitgestellten Datensatz DLDatasetDLDatasetDLDatasetDLDatasetdldataset als auch auf alle vorverarbeiteten Samples auf der Festplatte angewendet. Dies ist für eine korrekte Evaluierung erforderlich.

Das Continual Learning Model kann mit Hilfe der Prozedur evaluate_dl_model evaluiert werden. Dabei kann ein oder mehrere Datensätze übergeben werden, die alle Klassen enthalten, auf denen das Modell trainiert wurde, oder nur eine Teilmenge davon. Es wird dringend empfohlen, das Modell mit Testdaten zu evaluieren, die allen Klassen und Continual Learning Schritten entsprechen, damit das Evaluierungsergebnis die Fähigkeiten des Modells für alle relevanten Daten genau widerspiegelt.

Der Operator berechnet zudem einen neuen Out-of-Distribution Schwellenwert. Ein zuvor vom Benutzer festgelegter Schwellenwert wird dabei überschrieben. Die Kalibrierung der Konfidenzwerte wird nur einmal durchgeführt (entweder in init_dl_continual_learninginit_dl_continual_learningInitDlContinualLearningInitDlContinualLearninginit_dl_continual_learning, wenn ein Datensatz bereitgestellt wurde oder beim ersten Aufruf von extend_dl_continual_learningextend_dl_continual_learningExtendDlContinualLearningExtendDlContinualLearningextend_dl_continual_learning) und nicht wiederholt. Mit zunehmender Anzahl von Klassen nehmen die absoluten Konfidenzwerte im Allgemeinen ab.

GenParamGenParamGenParamgenParamgen_param ist ein Dictionary zum Setzen generischer Parameter. Zur Zeit werden keine generischen Parameter unterstützt.

Achtung

Der Operator nimmt Änderungen an den Samples des bereitgestellten Datensatzes vor. Wenn während der Änderungen ein Fehler auftritt, wird der Datensatz unvollständig angepasst und ist somit beschädigt. Er ist damit unbrauchbar und muss dann neu eingelesen und vorverarbeitet werden. Dies wird durch eine entsprechende Fehlermeldung des Operators im Falle eines Fehlers angezeigt.

Der Operator verhält sich nicht additiv. Das Hinzufügen von Bildern derselben Klasse in mehreren Aufrufen führt nicht zu einem identischen Modell wie das Hinzufügen derselben kombinierten Bilder in einem einzigen Aufruf.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand der folgenden Eingabeparameter:

Während der Ausführung dieses Operators muss der Zugriff auf die Werte dieser Parameter synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

DLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle (input_control, Zustand wird modifiziert)  dl_model HDlModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Deep Learning-Klassifikationsmodells, das für Continual Learning initialisiert wurde.

DLDatasetDLDatasetDLDatasetDLDatasetdldataset (input_control, Zustand wird modifiziert)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Datensatz für neuen Continual Learning Schritt.

GenParamGenParamGenParamgenParamgen_param (input_control)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Dictionary für generische Parameter.

Default: []

Vorgänger

init_dl_continual_learninginit_dl_continual_learningInitDlContinualLearningInitDlContinualLearninginit_dl_continual_learning

Nachfolger

apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelapply_dl_model

Modul

Deep Learning Professional