BrainScript-Zug, Test, Eval
Hier beschreiben wir die wichtigsten Befehle train
auf oberster Ebene und test
/eval
ihre entsprechenden Parameter. Weitere Befehle auf oberster Ebene finden Sie auf der entsprechenden Seite.
Befehl "Zug"
Dieser Befehl fordert CNTK auf, ein Modell zu trainieren. Ein Beispiel für einen train
Befehlsabschnitt wird auf der Seite " Konfigurationsdateiübersicht " bereitgestellt. Die verwandten Parameter sind:
reader
– der Konfigurationsblock des Lesers, der verwendet wird, um zu bestimmen, wie Eingabedaten geladen werden. Details finden Sie im Reader-Block.SGD
– Die SGD-Schulungseinrichtung. Details finden Sie im SGD-Block.BrainScriptNetworkBuilder
– der BrainScript-Konfigurationsblock. Ausführliche Informationen finden Sie im BrainScript-Netzwerk-Generator.SimpleNetworkBuilder
– der einfache Konfigurationsblock des Netzwerk-Generators. Ausführliche Informationen finden Sie im Simple Network Builder.cvReader
– (optional) der Lesekonfigurationsblock für überprüfungsübergreifende Daten.makeMode
– wenn dies auf (Standard) festgelegttrue
ist, wird die Schulung von jedem unterbrochenen Zeitraum fortgesetzt. Wenn sie auf die Schulung festgelegt ist, wird von Grund auffalse
neu neu gestartet.firstMBsToShowResult
– gibt an, wie viele Minibatches am Anfang einer Epoche die Zwischenergebnisse für einzeln anzeigen.numMBsToShowResult
– gibt an, wie viele Minibatches die Zwischenergebnisse angezeigt werden sollen.
Test- oder Eval-Befehl
Diese Befehle bewerten/testen ein Modell für Genauigkeit, in der Regel mit einem Testdatensatz. Die verwandten Parameter sind:
reader
– der Lesekonfigurationsblock zum Lesen der Testdaten. Details finden Sie im Reader-Block.modelPath
– der Pfad zum zu bewertenden Modell.BrainScriptNetworkBuilder
– Wenn dies gegeben wird, wird das Modell nicht nur von dieser Konfiguration gelesen, sondern stattdessen ausmodelPath
dieser Konfiguration erstellt. Dies wird verwendet, um Modelle für die Auswertung zu ändern.minibatchSize
– die Minibatchgröße, die beim Lesen und Verarbeiten des Datasets verwendet werden soll.epochSize
– die Größe des Datasets. Der Standardwert ist0
. Das gesamte Dataset wird ausgewertet, wenn er auf0
".numMBsToShowResult
– gibt an, wie viele Minibatches die Zwischenergebnisse angezeigt werden sollen.evalNodeNames
– ein Array von mindestens einem Knotennamen, der ausgewertet werden soll.distributedMBReading
- akzeptiert boolesche Werte: true oder false; Standard ist "false". Es sollte auf "true" für Leser festgelegt sein, die verteilte Minibatchlese unterstützen. Wenn Sie CNTK Textformatleser, Image Reader oder Composite Data Reader verwenden, sollten Sie verteiltMBReading=true festlegen.
Im folgenden Beispiel wird das Simple2d-Beispiel verwendet. In diesem Beispiel wird die modelPath
Definition auf oberster Ebene und automatisch von dem train
Befehl und test
dem Befehl aufgenommen.
Simple_Demo_Test = [
action = "test"
# Parameter values for the reader
reader = [
readerType = "CNTKTextFormatReader"
file = "$DataDir$/SimpleDataTest_cntk_text.txt"
randomize = false
input = [
features = [
dim = 2 # two-dimensional input data
format = "dense"
]
labels = [
dim = 2 # two-dimensional labels
format = "dense"
]
]
]
]