NonuniformTrainingEpochs

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

Uma sequência infinita de coleções de lotes de amostras adequadas para treinar um DNN quando as amostras não são uniformemente dimensionadas.

Os lotes em cada época:

  • todos têm exatamente o mesmo número de amostras.
  • são formados a partir de amostras de tamanho semelhante.
  • comece com um lote cujo tamanho máximo de amostra é o tamanho máximo de todas as amostras usadas na época.
  • Cria uma instância a tiragem de amostras a partir de samples em lotes de tamanho batchSize .

    Declaração

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

    Parâmetros

    entropy

    uma fonte de aleatoriedade usada para embaralhar a ordenação de amostras. Ele será armazenado em self , por isso, se é apenas pseudo-aleatórios e tem semântica de valor, a seqüência de épocas é determinstic e não dependente de outras operações.

    batchesPerSort

    o número de lotes através da qual a amostra do grupo tamanhos semelhante, ou nil para indicar que a implementação deve escolher um número. Escolher muito alto pode destruir os efeitos do embaralhamento de amostras em muitos esquemas de treinamento, levando a resultados insatisfatórios. Escolher um valor muito baixo reduzirá a similaridade de tamanhos em um determinado lote, levando à ineficiência.

    areInAscendingSizeOrder

    um predicado que retorna true sse o tamanho do primeiro parâmetro é menor que a da segunda.

  • O tipo de cada época, uma coleção de lotes de amostras.

    Declaração

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • Retorna a próxima época na sequência.

    Declaração

    public func next() -> Element?

Disponível onde `Entropy` ==` SystemRandomNumberGenerator`

  • Cria uma instância a tiragem de amostras a partir de samples em lotes de tamanho batchSize .

    Declaração

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

    Parâmetros

    batchesPerSort

    o número de lotes através da qual a amostra do grupo tamanhos semelhante, ou nil para indicar que a implementação deve escolher um número. Escolher um valor muito alto pode destruir os efeitos do embaralhamento de amostras em muitos esquemas de treinamento, levando a resultados insatisfatórios. Escolher um valor muito baixo reduzirá a similaridade de tamanhos em um determinado lote, levando à ineficiência.

    areInAscendingSizeOrder

    um predicado que retorna true sse o tamanho do primeiro parâmetro é menor que a da segunda.