Freigeben über


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) festgelegt true ist, wird die Schulung von jedem unterbrochenen Zeitraum fortgesetzt. Wenn sie auf die Schulung festgelegt ist, wird von Grund auf false 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 aus modelPath 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 ist 0. Das gesamte Dataset wird ausgewertet, wenn er auf 0".

  • 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"
            ]
        ]
    ]
]