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á nafalse
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 zmodelPath
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í je0
. Celá datová sada se vyhodnotí, pokud je nastavená na0
.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"
]
]
]
]