Delen via


BrainScript epochSize in CNTK

Zie hier voor Python gebruikers.

Het aantal labelvoorbeelden (tensors langs een dynamische as) in elk tijdvak. Het epochSize in CNTK is het aantal labelvoorbeelden waarna specifieke aanvullende acties worden uitgevoerd, waaronder

  • een controlepuntmodel opslaan (de training kan vanaf hier opnieuw worden gestart)
  • kruisvalidatie
  • controle over leersnelheid
  • minibatch schalen

Houd er rekening mee dat de definitie van het aantal etiketvoorbeelden vergelijkbaar is met het aantal steekproeven dat wordt gebruikt voor minibatchSize (minibatch_size_in_samples). De definitie van epochSize verschilt van de definitie van minitbatchSize in de zin van epochSizelabelvoorbeelden , niet invoervoorbeelden.

Voor sequentiële gegevens is een voorbeeld dus een afzonderlijk item van een reeks. Daarom verwijst CNTK epochSizeniet naar een aantal reeksen, maar naar de reeksitems in de reekslabels die de minibatch vormen.

Even belangrijk, het is labelvoorbeelden , geen invoervoorbeelden en het aantal labels per reeks is niet noodzakelijkerwijs het aantal invoervoorbeelden. Het is bijvoorbeeld mogelijk om één label per reeks te hebben en voor elke reeks veel steekproeven te hebben (in welk geval epochSize fungeert als het aantal reeksen) en het is mogelijk om één label per steekproef in een reeks te hebben, in dat geval epochSize precies zoals minibatchSize in dat elke steekproef (niet op volgorde) wordt geteld.

Voor kleinere gegevenssets epochSize wordt vaak gelijk aan de grootte van de gegevensset ingesteld. In BrainScript kunt u 0 opgeven om dat aan te geven. In Python kunt u hiervoor opgevencntk.io.INFINITELY_REPEAT. In Python alleen kunt u deze ook instellen op cntk.io.FULL_DATA_SWEEP waar de verwerking stopt na één pass van de volledige gegevensgrootte.

Voor grote gegevenssets wilt u mogelijk uw keuze voor epochSize begeleiden door controlepunten te selecteren. Als u bijvoorbeeld maximaal 30 minuten aan berekeningen wilt verliezen in geval van een stroomstoring of netwerkstoring, wilt u dat er ongeveer elke 30 minuten een controlepunt wordt gemaakt (waarvan de training kan worden hervat). Kies ervoor epochSize om het aantal steekproeven te zijn dat ongeveer 30 minuten duurt om te berekenen.