SwinLayer constructor

SwinLayer({
  1. required int dim,
  2. required int depth,
  3. required int numHeads,
  4. required int windowSize,
  5. bool downsample = true,
})

Implementation

SwinLayer({
  required this.dim,
  required this.depth,
  required this.numHeads,
  required this.windowSize,
  this.downsample = true,
}) {
  blocks = List.generate(
    depth,
    (i) => SwinTransformerBlock(
      dim: dim,
      numHeads: numHeads,
      windowSize: windowSize,
      shiftSize: i % 2 == 0 ? 0 : windowSize ~/ 2,
    ),
  );

  if (downsample) {
    patchMerging = PatchMerging(dim);
  }
}