Épocas de formación no uniformes

public final class NonuniformTrainingEpochs<
  Samples: Collection,
  Entropy: RandomNumberGenerator
>: Sequence, IteratorProtocol

Una secuencia infinita de colecciones de lotes de muestras adecuadas para entrenar un DNN cuando las muestras no tienen un tamaño uniforme.

Los lotes de cada época:

  • todos tienen exactamente el mismo número de muestras.
  • se forman a partir de muestras de tamaño similar.
  • Comience con un lote cuyo tamaño máximo de muestra sea el tamaño máximo de todas las muestras utilizadas en la época.
  • Crea un dibujo muestras de ejemplo samples en lotes de tamaño batchSize .

    Declaración

    public init(
      samples: Samples,
      batchSize: Int,
      entropy: Entropy,
      batchesPerSort: Int? = nil,
      areInAscendingSizeOrder:
        @escaping (Samples.Element, Samples.Element) -> Bool
    )

    Parámetros

    entropy

    una fuente de aleatoriedad utilizada para mezclar el orden de las muestras. Se almacena en self , por lo que si es solamente pseudoaleatorios y tiene la semántica de valor, la secuencia de las épocas es determinstic y no depende de otras operaciones.

    batchesPerSort

    el número de lotes a través de la cual la muestra tamaños de grupo de manera similar, o nil para indicar que la aplicación debe elegir un número. Elegir demasiado alto puede destruir los efectos de la mezcla de muestras en muchos esquemas de entrenamiento, lo que da lugar a resultados deficientes. Elegir demasiado bajo reducirá la similitud de tamaños en un lote determinado, lo que conducirá a la ineficiencia.

    areInAscendingSizeOrder

    un predicado que los rendimientos true si y sólo si el tamaño de la primera parámetro es menor que la de la segunda.

  • El tipo de cada época, una colección de lotes de muestras.

    Declaración

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • Devuelve la siguiente época en secuencia.

    Declaración

    public func next() -> Element?

Disponible donde `Entropy` ==` SystemRandomNumberGenerator`

  • Crea un dibujo muestras de ejemplo samples en lotes de tamaño batchSize .

    Declaración

    public convenience init(
      samples: Samples,
      batchSize: Int,
      batchesPerSort: Int? = nil,
      areInAscendingSizeOrder:
        @escaping (Samples.Element, Samples.Element) -> Bool
    )

    Parámetros

    batchesPerSort

    el número de lotes a través de la cual la muestra tamaños de grupo de manera similar, o nil para indicar que la aplicación debe elegir un número. Elegir demasiado alto puede destruir los efectos de la mezcla de muestras en muchos esquemas de entrenamiento, lo que da lugar a resultados deficientes. Elegir demasiado bajo reducirá la similitud de tamaños en un lote determinado, lo que conducirá a la ineficiencia.

    areInAscendingSizeOrder

    un predicado que los rendimientos true si y sólo si el tamaño de la primera parámetro es menor que la de la segunda.