TrainingEpochs

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

An infinite sequence of collections of batch samples suitable for training a DNN when samples are uniform.

The batches in each epoch all have exactly the same size.

  • Creates an instance drawing samples from samples into batches of size batchSize.

    Declaration

    public init(
      samples: Samples,
      batchSize: Int,
      entropy: Entropy
    )

    Parameters

    entropy

    a source of randomness used to shuffle sample ordering. It will be stored in self, so if it is only pseudorandom and has value semantics, the sequence of epochs is determinstic and not dependent on other operations.

  • The type of each epoch, a collection of batches of samples.

    Declaration

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • Returns the next epoch in sequence.

    Declaration

    public func next() -> Element?
  • Creates an instance drawing samples from samples into batches of size batchSize.

    Declaration

    public convenience init(
      samples: Samples,
      batchSize: Int
    )