NonuniformTrainingEpochs

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

샘플 크기가 일정하지 않을 때 DNN을 교육하는 데 적합한 샘플 배치 컬렉션의 무한 시퀀스입니다.

각 시대의 배치:

  • 모두 정확히 동일한 수의 샘플을 가지고 있습니다.
  • 비슷한 크기의 표본으로 구성됩니다.
  • 최대 샘플 크기가 해당 에포크에 사용된 모든 샘플에 대한 최대 크기인 배치로 시작합니다.
  • samples 의 샘플을 batchSize 크기의 배치로 그리는 인스턴스를 만듭니다.

    선언

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

    매개변수

    entropy

    샘플 순서를 섞는 데 사용되는 무작위성의 소스입니다. self 에 저장되므로 의사 난수일 뿐이고 값 의미 체계가 있는 경우 시대의 순서는 결정적이며 다른 작업에 종속되지 않습니다.

    batchesPerSort

    샘플 크기를 유사하게 그룹화할 배치 수, 또는 구현 시 숫자를 선택해야 함을 나타내는 nil 입니다. 너무 높은 값을 선택하면 많은 훈련 계획에서 샘플 섞기 효과가 파괴되어 결과가 좋지 않을 수 있습니다. 너무 낮게 선택하면 특정 배치에서 크기의 유사성이 줄어들어 비효율성이 발생합니다.

    areInAscendingSizeOrder

    첫 번째 매개변수의 크기가 두 번째 매개변수의 크기보다 작은 경우 true 반환하는 조건자입니다.

  • 각 시대의 유형, 샘플 배치 모음입니다.

    선언

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • 다음 에포크를 순서대로 반환합니다.

    선언

    public func next() -> Element?
`Entropy` == `SystemRandomNumberGenerator`에서 사용 가능
  • samples 의 샘플을 batchSize 크기의 배치로 그리는 인스턴스를 만듭니다.

    선언

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

    매개변수

    batchesPerSort

    샘플 크기를 유사하게 그룹화할 배치 수, 또는 구현 시 숫자를 선택해야 함을 나타내는 nil 입니다. 너무 높은 값을 선택하면 많은 훈련 계획에서 샘플 섞기 효과가 파괴되어 결과가 좋지 않을 수 있습니다. 너무 낮게 선택하면 특정 배치에서 크기의 유사성이 줄어들어 비효율성이 발생합니다.

    areInAscendingSizeOrder

    첫 번째 매개변수의 크기가 두 번째 매개변수의 크기보다 작은 경우 true 반환하는 조건자입니다.