Kỷ nguyên đào tạo không đồng nhất

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

Một chuỗi vô hạn các bộ sưu tập các lô mẫu phù hợp để huấn luyện DNN khi các mẫu không có kích thước đồng đều.

Các đợt trong mỗi kỷ nguyên:

  • tất cả đều có số lượng mẫu giống hệt nhau.
  • được hình thành từ các mẫu có kích thước tương tự nhau.
  • bắt đầu với một lô có kích thước mẫu tối đa là kích thước tối đa trên tất cả các mẫu được sử dụng trong kỷ nguyên.
  • Tạo một bản vẽ mẫu từ samples thành các lô có kích thước batchSize .

    Tuyên ngôn

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

    Thông số

    entropy

    một nguồn ngẫu nhiên được sử dụng để xáo trộn thứ tự mẫu. Nó sẽ được lưu trữ trong self , vì vậy nếu nó chỉ là giả ngẫu nhiên và có ngữ nghĩa giá trị thì chuỗi các kỷ nguyên là xác định và không phụ thuộc vào các hoạt động khác.

    batchesPerSort

    số lượng lô để nhóm các cỡ mẫu tương tự hoặc nil để biểu thị rằng việc triển khai nên chọn một số. Việc chọn quá cao có thể phá hủy tác động của việc xáo trộn mẫu trong nhiều chương trình huấn luyện, dẫn đến kết quả kém. Việc chọn quá thấp sẽ làm giảm sự giống nhau về kích thước trong một lô nhất định, dẫn đến kém hiệu quả.

    areInAscendingSizeOrder

    một vị từ trả về true nếu kích thước của tham số đầu tiên nhỏ hơn kích thước của tham số thứ hai.

  • Loại của từng kỷ nguyên, một tập hợp các lô mẫu.

    Tuyên ngôn

    public typealias Element = Slices<
      Sampling<Samples, Array<Samples.Index>.SubSequence>
    >
  • Trả về kỷ nguyên tiếp theo theo thứ tự.

    Tuyên ngôn

    public func next() -> Element?
Có sẵn ở nơi `Entropy` == `SystemRandomNumberGenerator`
  • Tạo một bản vẽ mẫu từ samples thành các lô có kích thước batchSize .

    Tuyên ngôn

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

    Thông số

    batchesPerSort

    số lượng lô để nhóm các cỡ mẫu tương tự hoặc nil để biểu thị rằng việc triển khai nên chọn một số. Việc chọn quá cao có thể phá hủy tác động của việc xáo trộn mẫu trong nhiều chương trình huấn luyện, dẫn đến kết quả kém. Việc chọn quá thấp sẽ làm giảm sự giống nhau về kích thước trong một lô nhất định, dẫn đến kém hiệu quả.

    areInAscendingSizeOrder

    một vị từ trả về true nếu kích thước của tham số đầu tiên nhỏ hơn kích thước của tham số thứ hai.