BrainScript Train, Test, Eval
Hier beschrijven we de belangrijkste opdrachten train
op het hoogste niveau en test
/eval
de bijbehorende parameters. Zie de bijbehorende pagina voor aanvullende opdrachten op het hoogste niveau.
Opdracht Trainen
Met deze opdracht wordt CNTK gevraagd om een model te trainen. Een voorbeeld van een train
opdrachtsectie vindt u op de overzichtspagina van het configuratiebestand . De gerelateerde parameters zijn:
reader
– het configuratieblok van de lezer dat wordt gebruikt om te bepalen hoe invoergegevens moeten worden geladen. Zie het leesblok voor meer informatie.SGD
– de SGD-trainingsconfiguratie. Zie SGD-blok voor meer informatie.BrainScriptNetworkBuilder
– het BrainScript-configuratieblok. Zie BrainScript Network Builder voor meer informatie.SimpleNetworkBuilder
– het eenvoudige configuratieblok van de netwerkbouwer. Zie Simple Network Builder voor meer informatie.cvReader
– (optioneel) het configuratieblok van de lezer voor kruisvalidatiegegevens.makeMode
– als deze optie is ingesteld optrue
(standaard) wordt de training voortgezet vanaf welk tijdvak dan ook onderbroken. Als deze optie is ingesteld opfalse
de training, wordt helemaal opnieuw gestart.firstMBsToShowResult
– geeft aan hoeveel minibatches aan het begin van een tijdvak tussenliggende resultaten afzonderlijk moeten worden weergegeven.numMBsToShowResult
– geeft aan hoeveel minibatches de tussenliggende resultaten moeten worden weergegeven.
Test- of evaluatieopdracht
Met deze opdrachten wordt een model geëvalueerd/getest op nauwkeurigheid, meestal met een testgegevensset. De gerelateerde parameters zijn:
reader
– het configuratieblok van de lezer om de testgegevens te lezen. Zie het leesblok voor meer informatie.modelPath
– het pad naar het model dat moet worden geëvalueerd.BrainScriptNetworkBuilder
– als dit wordt gegeven, wordt het model niet alleen gelezen uitmodelPath
maar in plaats daarvan samengesteld uit deze configuratie. Dit wordt gebruikt om modellen meteen te wijzigen voor evaluatie.minibatchSize
– de grootte van de minibatch die moet worden gebruikt bij het lezen en verwerken van de gegevensset.epochSize
– de grootte van de gegevensset. De standaardinstelling is0
. De volledige gegevensset wordt geëvalueerd als deze is ingesteld op0
.numMBsToShowResult
– geeft aan hoeveel minibatches de tussenliggende resultaten moeten worden weergegeven.evalNodeNames
– een matrix van een of meer knooppuntnamen die moeten worden geëvalueerd.distributedMBReading
- accepteert Booleaanse waarde: waar of onwaar; de standaardwaarde is onwaar. Deze moet worden ingesteld op waar voor lezers die ondersteuning bieden voor gedistribueerde minibatchlezing. Als u CNTK Text Format Reader, Image Reader of Composite Data Reader gebruikt, moet u distributedMBReading=true instellen.
Het volgende voorbeeld wordt genomen in het Simple2d-voorbeeld. In dat voorbeeld wordt het modelPath
op het hoogste niveau gedefinieerd en automatisch opgehaald door zowel de train
als test
de opdracht.
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"
]
]
]
]