Delen via


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 op true (standaard) wordt de training voortgezet vanaf welk tijdvak dan ook onderbroken. Als deze optie is ingesteld op false 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 uit modelPath 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 is 0. De volledige gegevensset wordt geëvalueerd als deze is ingesteld op 0.

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