Sdílet prostřednictvím


BrainScript Train, Test, Eval

Tady popisujeme hlavní příkazy train nejvyšší úrovně a test/eval jejich odpovídající parametry. Další příkazy nejvyšší úrovně najdete na odpovídající stránce.

Trénovat příkaz

Tento příkaz požádá CNTK o trénování modelu. Příklad oddílu příkazu je k dispozici na stránce přehledu konfiguračníhotrain souboru. Související parametry jsou:

  • reader – blok konfigurace čtenáře použitý k určení, jak načíst vstupní data. Podrobnosti najdete v bloku čtenáře.

  • SGD – nastavení školení SGD. Podrobnosti najdete v bloku SGD.

  • BrainScriptNetworkBuilder – blok konfigurace BrainScriptu. Podrobnosti najdete v nástroji BrainScript Network Builder.

  • SimpleNetworkBuilder – jednoduchý konfigurační blok tvůrce sítě. Podrobnosti najdete v nástroji Simple Network Builder.

  • cvReader – (volitelné) blok konfigurace čtenáře pro data křížového ověření.

  • makeMode – pokud nastavíte ( true výchozí) trénování bude pokračovat od jakéhokoli období přerušení. Pokud je nastavená na false trénování, restartuje se úplně od začátku.

  • firstMBsToShowResult – označuje, kolik minibatchů na začátku epochy zobrazí přechodné výsledky pro jednotlivce.

  • numMBsToShowResult – označuje, kolik minibatches by mělo být zobrazeno zprostředkující výsledky.

Test nebo Eval – příkaz

Tyto příkazy vyhodnocují a testují model pro přesnost, obvykle s testovací datovou sadou. Související parametry jsou:

  • reader – blok konfigurace čtenáře pro čtení testovacích dat. Podrobnosti najdete v bloku čtenáře.

  • modelPath – cesta k modelu, který se má vyhodnotit.

  • BrainScriptNetworkBuilder – pokud je tato možnost zadána, model se nečte jen z modelPath této konfigurace, ale je vytvořený z této konfigurace. Slouží k úpravě modelů na běhu pro vyhodnocení.

  • minibatchSize – velikost minibatchu, která se má použít při čtení a zpracování datové sady.

  • epochSize – velikost datové sady. Výchozí je 0. Celá datová sada se vyhodnotí, pokud je nastavená na 0.

  • numMBsToShowResult – označuje, kolik minibatches by mělo být zobrazeno zprostředkující výsledky.

  • evalNodeNames – pole jednoho nebo více názvů uzlů, které se mají vyhodnotit.

  • distributedMBReading - přijímá logickou hodnotu: true nebo false; výchozí hodnota je false. Mělo by být nastaveno na hodnotu true pro čtenáře, kteří podporují distribuované čtení minibatchu. Pokud používáte CNTK čtečku textového formátu, čtečku obrázků nebo čtečku složených dat, měli byste nastavit distribuovanou funkci MBReading=true.

Následující příklad je převzat z příkladu Simple2d. V tomto příkladu modelPath je definován na nejvyšší úrovni a automaticky se vyzvedne jak příkazem train , tak test i příkazem.

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