CNTK Bewertung mit cntk.exe
Bewerten eines Modells mit cntk.exe
Die Auswertung eines Modells mithilfe der ausführbaren CNTK selbst, d. h. cntk.exe, ähnelt dem Schulungsprozess. Anstatt jedoch den Befehl "train" zu verwenden, wird der Befehl "eval" in der Konfigurationsdatei platziert.
Die Verwendung der ausführbaren CNTK für die Auswertung hat die folgenden Vorteile:
CPU/GPU-Funktion
Wie schulungen kann CNTK die GPU während der Auswertung nutzen. Weitere Details finden Sie auf der Seite " Konfigurationsdateiübersicht ".
Leser (und ihre Transformationen)
Ähnlich wie die Modellschulung können die Reader-Plugins (z. B. ImageReader) einige Datentransformationen auf den Eingabedaten ausführen, bevor sie während der Schulung an das Netzwerk gefüttert werden. Diese Transformationen sind nicht Teil von CNTK (per se), sondern von den Lesern. Um die gleichen transformierten Daten während der Auswertung zu feeden, müssen die Transformationen vor der Zufuhr auftreten. Bei der Auswertung mithilfe der ausführbaren CNTK kann der gleiche Leser (wie während der Auswertung verwendet) verwendet werden und somit die gleiche Transformation angewendet werden. Da wir später auf dieser Seite mit dem programmgesteuerten Ansatz behandelt werden, müssen diese Transformationen programmgesteuert außerhalb des Auswertungsmoduls ausgeführt werden, bevor die Daten für die Auswertung übermittelt werden (vorausgesetzt, das Modell wurde mit transformierten Daten trainiert).
Modellanpassung
Bei der Verwendung von CNTK für die Auswertung gibt es eine Möglichkeit, das Layout des Modells mithilfe von BrainScript zu ändern. Dies ermöglicht zusätzliche Funktionen, z. B. das Anzeigen ausgeblendeter Ebenen für die Auswertung. Weitere Informationen finden Sie auf der BrainScript-Seite.
Die Verwendung der ausführbaren CNTK für die Auswertung hat die folgenden Nachteile:
Prozess-Spin-up-Zeit
Die CNTK ausführbare Datei (nach Natur) wird als Prozess ausgeführt und dauert daher einige Zeit, um sich zu drehen. Für Dienste, bei denen viele Anforderungen dynamisch verarbeitet werden müssen, wäre die bessere Option, die Auswertungsbibliothek in einem Dienst zu verwenden.
Dateibasierte Eingabe/Ausgabe
Die ausführbare CNTK liest die Eingabedaten aus datei(n) und schreibt die Ausgabedaten in eine Datei. Bei Diensten, die in der Cloud ausgeführt werden, kann dies zu Einigen Leistungsproblemen führen.
Hinweis: Wenn Sie die Route der Auswertung eines CNTK Modells mit der ausführbaren CNTK ausführen, stellen Sie sicher, dass Ihre Parameter für die Auswertung angemessen sind. Insbesondere geben Sie eine geeignete Größe für die MiniBatchSize an. Weitere Informationen finden Sie auf der Seite "Problembehandlung CNTK".