Dela via


BrainScript Train, Test, Eval

Här beskriver vi de viktigaste kommandona train på den översta nivån och test/eval deras motsvarande parametrar. Ytterligare kommandon på den översta nivån finns på motsvarande sida.

Träningskommando

Det här kommandot ber CNTK att träna en modell. Ett exempel på ett train kommandoavsnitt finns på översiktssidan för konfigurationsfilen . De relaterade parametrarna är:

  • reader – det läsarkonfigurationsblock som används för att bestämma hur indata ska läsas in. Mer information finns i Läsarblock.

  • SGD – SGD-träningskonfigurationen. Mer information finns i SGD-block.

  • BrainScriptNetworkBuilder – Konfigurationsblocket för BrainScript. Mer information finns i BrainScript Network Builder.

  • SimpleNetworkBuilder – det enkla konfigurationsblocket för nätverksverktyget. Mer information finns i Simple Network Builder.

  • cvReader – (valfritt) läsarkonfigurationsblocket för korsvalideringsdata.

  • makeMode – om det är inställt på true (standard) fortsätter träningen från den epok som avbryts. Om den ställs in på false träningen startas den om från början.

  • firstMBsToShowResult – anger för hur många minibatches i början av en epok för att visa mellanliggande resultat för individuellt.

  • numMBsToShowResult – anger efter hur många minibatches de mellanliggande resultaten ska visas.

Test- eller Eval-kommando

Dessa kommandon utvärderar/testar en modell för noggrannhet, vanligtvis med en testdatauppsättning. De relaterade parametrarna är:

  • reader – läsarkonfigurationsblocket för att läsa testdata. Mer information finns i Läsarblock.

  • modelPath – sökvägen till modellen som ska utvärderas.

  • BrainScriptNetworkBuilder – Om detta anges är modellen inte bara läsa från modelPath utan konstrueras i stället från den här konfigurationen. Detta används för att ändra modeller i farten för utvärdering.

  • minibatchSize – den minibatchstorlek som ska användas vid läsning och bearbetning av datauppsättningen.

  • epochSize – storleken på datauppsättningen. Standardvärdet är 0. Hela datamängden utvärderas om den är inställd på 0.

  • numMBsToShowResult – anger efter hur många minibatches de mellanliggande resultaten ska visas.

  • evalNodeNames – en matris med ett eller flera nodnamn att utvärdera.

  • distributedMBReading - accepterar booleskt värde: sant eller falskt; standardvärdet är false. Det ska vara inställt på sant för läsare som stöder distribuerad minibatch-läsning. Om du använder CNTK textformatläsare, bildläsare eller sammansatt dataläsare bör du ange distributedMBReading=true.

Följande exempel är taget som Simple2d-exemplet. I det exemplet modelPath definieras på den översta nivån och hämtas automatiskt av både train kommandot och test .

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