Partager via


Époque BrainScriptSize dans CNTK

Pour les utilisateurs Python, voir ici.

Nombre d’échantillons d’étiquettes (tenseurs le long d’un axe dynamique) dans chaque époque. La epochSize CNTK est le nombre d’exemples d’étiquettes après lequel des actions supplémentaires spécifiques sont effectuées, y compris

  • enregistrement d’un modèle de point de contrôle (l’entraînement peut être redémarré ici)
  • validation croisée
  • contrôle de taux d’apprentissage
  • minibatch-scale

Notez que la définition du nombre d’échantillons d’étiquette est similaire au nombre d’échantillons utilisés pour minibatchSize (minibatch_size_in_samples). La définition de epochSize différences entre la définition des minitbatchSizeepochSize exemples d’étiquettes , et non les exemples d’entrée.

Par conséquent, pour les données séquentielles, un exemple est un élément individuel d’une séquence. Par conséquent, CNTK ne epochSize fait pas référence à un certain nombre de séquences, mais les éléments de séquence sur les étiquettes de séquence qui constituent le minibatch.

Il s’agit également d’exemples d’étiquettes , pas d’échantillons d’entrée, et le nombre d’étiquettes par séquence n’est pas nécessairement le nombre d’échantillons d’entrée. Il est possible, par exemple, d’avoir une étiquette par séquence et pour chaque séquence d’avoir de nombreux échantillons (dans ce cas epochSize agit comme le nombre de séquences), et il est possible d’avoir une étiquette par échantillon dans une séquence, dans ce cas epochSize agit exactement comme minibatchSize dans chaque échantillon (et non séquence) est comptée.

Pour les tailles de jeu de données plus petites, epochSize elle est souvent définie sur la taille du jeu de données. Dans BrainScript, vous pouvez spécifier 0 pour indiquer cela. Dans Python, vous pouvez spécifier cntk.io.INFINITELY_REPEAT cela. En Python uniquement, vous pouvez également le définir sur cntk.io.FULL_DATA_SWEEP l’emplacement où le traitement s’arrête après une seule passe de la taille de données entière.

Pour les jeux de données volumineux, vous pouvez guider votre choix pour l’époqueSize en point de contrôle. Par exemple, si vous souhaitez perdre au plus 30 minutes de calcul en cas de panne de courant ou de blocage réseau, vous souhaitez qu’un point de contrôle soit créé environ toutes les 30 minutes (à partir duquel l’entraînement peut être repris). Choisissez epochSize d’être le nombre d’exemples qui prennent environ 30 minutes pour calculer.