Epoche di allenamento non uniforme

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

Una sequenza infinita di raccolte di lotti di campioni adatta per addestrare una DNN quando i campioni non hanno dimensioni uniformi.

I lotti in ogni epoca:

  • hanno tutti esattamente lo stesso numero di campioni.
  • sono formati da campioni di dimensioni simili.
  • iniziare con un lotto la cui dimensione massima del campione è la dimensione massima di tutti i campioni utilizzati nell'epoca.
  • Crea un'istanza disegnando campioni da samples in batch di dimensioni batchSize .

    Dichiarazione

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

    Parametri

    entropy

    una fonte di casualità utilizzata per mescolare l'ordinamento dei campioni. Verrà archiviato in self , quindi se è solo pseudocasuale e ha una semantica di valore, la sequenza delle epoche è deterministica e non dipende da altre operazioni.

    batchesPerSort

    il numero di lotti in cui raggruppare le dimensioni del campione in modo simile, oppure nil per indicare che l'implementazione dovrebbe scegliere un numero. Scegliere un valore troppo alto può distruggere gli effetti del mescolamento dei campioni in molti schemi di formazione, portando a scarsi risultati. Scegliere un valore troppo basso ridurrà la somiglianza delle dimensioni in un dato lotto, portando a inefficienza.

    areInAscendingSizeOrder

    un predicato che restituisce true se e solo se la dimensione del primo parametro è inferiore a quella del secondo.

  • Il tipo di ogni epoca, una raccolta di lotti di campioni.

    Dichiarazione

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • Restituisce l'epoca successiva in sequenza.

    Dichiarazione

    public func next() -> Element?
Disponibile dove `Entropia` == `SystemRandomNumberGenerator`
  • Crea un'istanza disegnando campioni da samples in batch di dimensioni batchSize .

    Dichiarazione

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

    Parametri

    batchesPerSort

    il numero di lotti in cui raggruppare le dimensioni del campione in modo simile, oppure nil per indicare che l'implementazione dovrebbe scegliere un numero. Scegliere un valore troppo alto può distruggere gli effetti del mescolamento dei campioni in molti schemi di formazione, portando a scarsi risultati. Scegliere un valore troppo basso ridurrà la somiglianza delle dimensioni in un dato lotto, portando a inefficienza.

    areInAscendingSizeOrder

    un predicato che restituisce true se e solo se la dimensione del primo parametro è inferiore a quella del secondo.