you are a super advanced machine learning software engineer that able to deeply understand and debug complex projects and help me enhance creatively and fix issues using most advaced methods, libraries and techniques to have a great performance and accuracy in my project which is using TIFF SAR images to detect vessels and if fishing or not, you do this smartly without removing, ruining or affecting any function , method or file structure!
in this project it used CenterNetUNet model and we upgraded it to integrate NAS, YOLO, FBN, FAN, Optuna and SwinTransformer



[I 2024-10-05 18:28:28,983] A new study created in memory with name: no-name-3c4a66b9-0e2a-4114-a33c-06c685ea28fd
Available keys in model config: dict_keys(['slug', 'activation', 'num_channels', 'num_extra_blocks', 'model', 'normalization', 'dataset', 'input_channels', 'local_rank', 'world_size', 'experiment', 'seed', 'deterministic', 'detect_anomaly', 'find_unused', 'transfer', 'checkpoint', 'inference', 'torch', 'valid', 'train', 'model2', 'augs', 'sampler', 'loss', 'optimizer', 'scheduler', 'runner', 'ema'])
Complete model configuration:
 slug: b5_unet_s2
activation: silu
num_channels: ${dataset.num_channels}
num_extra_blocks: 0
model:
  _target_: xview3.centernet.models.CenterNetUNetModel.from_config
  slug: b5_unet_s2
  weights: IMAGENET1K_V1
  pretrained: true
  output_stride: 32
  image_size:
  - 1024
  - 1024
  window_size:
  - 4
  - 4
  num_layers: 5
  num_filters: 64
  kernel_size: 5
  activation: relu
  dropout_rate: 0.4239230831361559
  dropout_rate_max: 0.5
  optimizer: Adam
  learning_rate: 0.00012866589470813123
  transformer:
    enabled: true
    embed_dim: 96
    depths:
    - 2
    - 2
    - 6
    - 2
    num_heads:
    - 3
    - 6
    - 12
    - 24
    window_size:
    - 4
    - 4
    mlp_ratio: 4.0
    qkv_bias: true
    qk_scale: null
    drop_rate: 0.0
    attn_drop_rate: 0.0
    drop_path_rate: 0.1
    norm_layer: torch.nn.LayerNorm
    use_dropout: false
    use_custom_pos_embed: false
  decoder:
    _target_: xview3.centernet.models.custom_encoder.DebugUNetDecoder
    encoder_channels:
    - 32
    - 24
    - 40
    - 112
    - 320
    channels:
    - 512
    - 384
    - 256
    - 128
    - 64
    unet_block:
      _target_: xview3.centernet.models.unet_blocks.UnetBlock
      _partial_: true
    upsample_block:
      _target_: torch.nn.Upsample
      scale_factor: 2
      mode: bilinear
  encoder:
    _target_: pytorch_toolbelt.modules.encoders.TimmEfficientNetV2
    model_name: efficientnetv2_rw_s
    pretrained: true
    activation: silu
    drop_rate: 0.1
    drop_path_rate: 0.1
    layers:
    - 1
    - 2
    - 3
    - 4
  nas:
    enabled: true
    search_space:
      num_layers:
      - 2
      - 5
      num_filters:
      - 64
      - 128
      - 256
      kernel_size:
      - 3
      - 5
      activation:
      - relu
      - leaky_relu
      - silu
      dropout_rate:
      - 0.0
      - 0.5
      dropout_rate_max: 0.5
    num_trials: 50
    metric: val_acc
    direction: maximize
  num_channels: 2
  num_classes: 2
  anchors:
  - - 10
    - 13
  - - 16
    - 30
  - - 33
    - 23
  input_upsample_factor: 1
  neck_out_channels: 256
  box_coder:
    _target_: xview3.centernet.bboxer.multilabel_circle_coder.MultilabelCircleNetCoder
    image_size:
    - 1024
    - 1024
    max_objects: 512
    heatmap_encoding: umich
    labels_encoding: circle
    ignore_value:
      _target_: xview3.ignore_value
    fixed_radius: 3
    labels_radius: 1
    ignore_low_confidence_detections: ${dataset.ignore_low_confidence_detections}
  head:
    decoupled_head:
      _target_: xview3.centernet.models.heads.DecoupledHeadGroupNormLateShuffle
      channels: 256
      classifier_dim: 128
      objectness_dim: 128
      size_dim: 128
      offset_dim: 16
      dropout_rate: 0.1
      activation: silu
      num_blocks: 3
    yolo_head:
      _target_: xview3.centernet.models.heads.yolo_head.YOLOHead
      num_classes: 2
      anchors:
      - - 10
        - 13
      - - 16
        - 30
      - - 33
        - 23
      - - 30
        - 61
      - - 62
        - 45
      - - 59
        - 119
      input_image_size:
      - 1024
      - 1024
      stride: 32
      num_anchors_per_scale: 3
  fan:
    enabled: true
    in_channels:
    - 32
    - 64
    - 128
    - 256
    out_channels: 256
    num_layers: 2
  config:
    slug: b5_unet_s2
    activation: silu
    num_channels: ${dataset.num_channels}
    num_extra_blocks: 0
    encoder:
      _target_: pytorch_toolbelt.modules.encoders.TimmB5Encoder
      pretrained: true
      activation: silu
      layers:
      - 1
      - 2
      - 3
      - 4
    decoder:
      upsample_type: shuffle
      block_type: IRBlock
      channels:
      - 256
      - 384
      - 512
    head:
      _target_: xview3.centernet.models.heads.DecoupledHeadGroupNormLateShuffle
      classifier_dim: 128
      objectness_dim: 128
      size_dim: 64
      offset_dim: 16
      dropout_rate: 0.1
      activation: silu
      num_groups: 4
      num_blocks: 3
    box_coder:
      _target_: xview3.centernet.MultilabelCircleNetCoder
      image_size:
      - 1024
      - 1024
      max_objects: 512
      heatmap_encoding: umich
      labels_encoding: circle
      ignore_value:
        _target_: xview3.ignore_value
      fixed_radius: 3
      labels_radius: 1
      ignore_low_confidence_detections: ${dataset.ignore_low_confidence_detections}
normalization:
  channels:
    vv:
      _target_: xview3.SigmoidNormalization
      midpoint: -20.0
      temperature: 0.18
    vh:
      _target_: xview3.SigmoidNormalization
      midpoint: -20.0
      temperature: 0.18
    bathymetry:
      _target_: xview3.CubicRootNormalization
    wind_direction: null
    wind_speed: null
    mask:
      _target_: A.NoOp
    sar:
      _target_: xview3.SigmoidNormalization
      midpoint: -20.0
      temperature: 0.18
    diff(vv,vh):
      _target_: xview3.SigmoidNormalization
      midpoint: -5.0
      temperature: 0.18
    mean(vv,vh):
      _target_: xview3.SigmoidNormalization
      midpoint: -20
      temperature: 0.18
  mean:
  - 0.485
  - 0.456
  - 0.406
  std:
  - 0.229
  - 0.224
  - 0.225
  slug: fixed
dataset:
  normalization:
    channels:
      vv:
        _target_: xview3.SigmoidNormalization
        midpoint: -20.0
        temperature: 0.18
      vh:
        _target_: xview3.SigmoidNormalization
        midpoint: -20.0
        temperature: 0.18
      bathymetry:
        _target_: xview3.CubicRootNormalization
      wind_direction:
        _target_: albumentations.NoOp
      wind_speed:
        _target_: albumentations.NoOp
      mask:
        _target_: albumentations.NoOp
    mean:
    - 0.485
    - 0.456
    - 0.406
    std:
    - 0.229
    - 0.224
    - 0.225
  slug: full_4fold
  splitter: full
  fold: 0
  num_folds: 4
  ignore_low_confidence_detections: true
  ignore_low_confidence_labels: true
  filter_low_confidence_objects: false
  channels:
  - vh
  - vv
  data_dir: ${oc.env:XVIEW3_DATA_DIR, "data"}
  num_channels: 2
input_channels:
- vh
- vv
local_rank: ${oc.env:LOCAL_RANK, 0}
world_size: ${oc.env:WORLD_SIZE, 0}
experiment: null
seed: 42
deterministic: false
detect_anomaly: false
find_unused: false
transfer: null
checkpoint: null
inference:
  channels_last: false
  use_traced_model: true
  tile_size: 2048
  tile_step: 1536
  accumulate_on_gpu: false
  batch_size: 1
  fp16: true
torch:
  amp:
    enabled: false
  cudnn:
    allow_tf32: true
  cuda_allow_tf32: true
  detect_anomaly: false
  deterministic: false
  benchmark: true
  activation_after: after_model
  tta: d4
  with_offset: true
  yolo_decoders: []
  channels_last: false
  cudnn_allow_tf32: true
valid:
  image_size:
  - 2048
  - 2048
  batch_size: 16
  num_workers: 2
train:
  slug: default_training
  epochs: 100
  output_stride: 32
  early_stopping: 25
  image_size:
  - 512
  - 512
  batch_size: 16
  num_workers: 2
  num_samples: 8192
  persistent_workers: false
  show: true
  fast: false
  train_image_size:
  - 768
  - 768
  valid_image_size:
  - 2048
  - 2048
  loaders:
    train:
      batch_size: ${batch_size}
      num_workers: 8
    valid:
      batch_size: 4
      num_workers: 6
model2:
  _target_: xview3.centernet.models.centernet_unet.EnhancedCenterNetUNet
  slug: b5_unet_s2
  weights: IMAGENET1K_V1
  pretrained: true
  output_stride: 32
  image_size:
  - 1024
  - 1024
  window_size:
  - 4
  - 4
  num_layers: ${model2.num_layers}
  num_filters: ${model2.num_filters}
  kernel_size: ${model2.kernel_size}
  activation: ${model2.activation}
  dropout_rate: ${model2.dropout_rate}
  dropout_rate_max: 0.5
  optimizer: ${model2.optimizer}
  learning_rate: ${model2.learning_rate}
  transformer:
    enabled: true
    embed_dim: 96
    depths:
    - 2
    - 2
    - 6
    - 2
    num_heads:
    - 3
    - 6
    - 12
    - 24
    window_size:
    - 4
    - 4
    mlp_ratio: 4.0
    qkv_bias: true
    qk_scale: null
    drop_rate: 0.0
    attn_drop_rate: 0.0
    drop_path_rate: 0.1
    norm_layer: torch.nn.LayerNorm
    use_dropout: false
    use_custom_pos_embed: false
  decoder:
    _target_: xview3.centernet.models.custom_encoder.DebugUNetDecoder
    encoder_channels:
    - 32
    - 24
    - 40
    - 112
    - 320
    channels:
    - 512
    - 384
    - 256
    - 128
    - 64
    unet_block:
      _target_: xview3.centernet.models.unet_blocks.UnetBlock
      _partial_: true
    upsample_block:
      _target_: torch.nn.Upsample
      scale_factor: 2
      mode: bilinear
  encoder:
    _target_: pytorch_toolbelt.modules.encoders.TimmEfficientNetV2
    model_name: efficientnetv2_rw_s
    pretrained: true
    activation: silu
    drop_rate: 0.1
    drop_path_rate: 0.1
    layers:
    - 1
    - 2
    - 3
    - 4
  nas:
    enabled: true
    search_space:
      num_layers:
      - 2
      - 5
      num_filters:
      - 64
      - 128
      - 256
      kernel_size:
      - 3
      - 5
      activation:
      - relu
      - leaky_relu
      - silu
      dropout_rate:
      - 0.0
      - 0.5
      dropout_rate_max: 0.5
    num_trials: 50
    metric: val_loss
    direction: minimize
  num_channels: 2
  num_classes: 2
  anchors:
  - - 10
    - 13
  - - 16
    - 30
  - - 33
    - 23
  input_upsample_factor: 1
  neck_out_channels: 256
  box_coder:
    _target_: xview3.centernet.bboxer.multilabel_circle_coder.MultilabelCircleNetCoder
    image_size:
    - 1024
    - 1024
    max_objects: 512
    heatmap_encoding: umich
    labels_encoding: circle
    ignore_value:
      _target_: xview3.ignore_value
    fixed_radius: 3
    labels_radius: 1
    ignore_low_confidence_detections: ${dataset.ignore_low_confidence_detections}
  head:
    decoupled_head:
      _target_: xview3.centernet.models.heads.DecoupledHeadGroupNormLateShuffle
      channels: 256
      classifier_dim: 128
      objectness_dim: 128
      size_dim: 128
      offset_dim: 16
      dropout_rate: 0.1
      activation: silu
      num_blocks: 3
    yolo_head:
      _target_: xview3.centernet.models.heads.yolo_head.YOLOHead
      num_classes: 2
      anchors:
      - - 10
        - 13
      - - 16
        - 30
      - - 33
        - 23
      - - 30
        - 61
      - - 62
        - 45
      - - 59
        - 119
      input_image_size:
      - 1024
      - 1024
      stride: 32
      num_anchors_per_scale: 3
  fan:
    enabled: true
    in_channels:
    - 32
    - 64
    - 128
    - 256
    out_channels: 256
    num_layers: 2
augs:
  slug: flips_light
  individual:
    vv:
    - _target_: xview3.augmentations.UnclippedRandomBrightnessContrast
      brightness_limit: 0.01
      contrast_limit: 0.01
      image_in_log_space: false
      p: 0.5
    - _target_: xview3.augmentations.UnclippedGaussNoise
      image_in_log_space: false
      var_limit:
      - 0.0001
      - 0.005
      mean: 0
      per_channel: true
      p: 0.5
    vh:
    - _target_: xview3.augmentations.UnclippedRandomBrightnessContrast
      image_in_log_space: false
      brightness_limit: 0.01
      contrast_limit: 0.01
      p: 0.5
    - _target_: xview3.augmentations.UnclippedGaussNoise
      image_in_log_space: false
      var_limit:
      - 0.0001
      - 0.005
      mean: 0
      per_channel: true
      p: 0.5
    bathymetry: null
    wind_direction: null
    wind_speed: null
    mask: null
  spatial:
  - _target_: A.HorizontalFlip
    p: 0.5
  - _target_: A.VerticalFlip
    p: 0.5
  - _target_: A.ShiftScaleRotate
    scale_limit: 0.1
    rotate_limit: 10
    value:
      _target_: xview3.nan_value
    border_mode: 0
    p: 0.5
sampler:
  slug: balanced
  sampler: null
  num_samples: 8192
  crop_around_ship_p: 0.8
  sampler_type: random_crop
  balance_crowd: true
  balance_near_shore: true
  balance_vessel_type: true
  balance_fishing_type: true
  balance_per_scene: false
  balance_location: true
  balance_folder: true
loss:
  aggregation: weighted_sum
  slug: rfl_bce_mse
  losses_weights:
    losses/objectness: 1.0
    losses/vessel: 1.0
    losses/fishing: 1.0
    losses/size: 0.1
    losses/offset: 0.001
  losses:
  - loss:
      _target_: xview3.centernet.losses.MultilabelCenterTrimmedLoss
      fraction: 0
      samplewise: false
      objectness_loss: rfl
      classifier_loss: bce
      size_loss: mse
      offset_loss: mse
      regularization_weight: 0
      regularize_ignored: false
    prefix: ''
    target_key:
    - CENTERNET_TARGET_OBJECTNESS_MAP
    - CENTERNET_TARGET_VESSEL_MAP
    - CENTERNET_TARGET_FISHING_MAP
    - CENTERNET_TARGET_SIZE
    - CENTERNET_TARGET_OFFSET
    output_key:
    - CENTERNET_OUTPUT_OBJECTNESS_MAP
    - CENTERNET_OUTPUT_VESSEL_MAP
    - CENTERNET_OUTPUT_FISHING_MAP
    - CENTERNET_OUTPUT_SIZE
    - CENTERNET_OUTPUT_OFFSET
    weight: 1.0
optimizer:
  fp16: true
  name: AdamW
  wd_on_bias: false
  accumulation: 1
  params:
    lr: 0.0001
    eps: 1.0e-05
    weight_decay: 0.0001
scheduler:
  scheduler_name: cos
  min_learning_rate: 1.0e-05
runner:
  main_metric: metrics/aggregate
  main_metric_minimize: false
  input_key: INPUT_IMAGE_KEY
  output_key: null
ema:
  callback: null

[DEBUG] Number of heads instantiated: 2
[DEBUG] Head 0 type: <class 'xview3.centernet.models.heads.decoupled_head.DecoupledHeadGroupNormLateShuffle'>
[DEBUG] Head 1 type: <class 'xview3.centernet.models.heads.yolo_head.YOLOHead'>
[2024-10-05 18:28:29,285][timm.models._builder][INFO] - Loading pretrained weights from Hugging Face hub (timm/efficientnetv2_rw_s.ra2_in1k)
[2024-10-05 18:28:29,733][timm.models._hub][INFO] - [timm/efficientnetv2_rw_s.ra2_in1k] Safe alternative available for 'pytorch_model.bin' (as 'model.safetensors'). Loading weights using safetensors.
[2024-10-05 18:28:29,831][timm.models._builder][WARNING] - Unexpected keys (bn2.bias, bn2.num_batches_tracked, bn2.running_mean, bn2.running_var, bn2.weight, classifier.bias, classifier.weight, conv_head.weight) found while loading pretrained weights. This may be expected if model is being adapted.
[2024-10-05 18:28:29,832][xview3.centernet.models.centernet_unet][INFO] - Adjusted encoder's first conv layer to have 2 input channels.
[2024-10-05 18:28:30,082][timm.models._builder][INFO] - Loading pretrained weights from Hugging Face hub (timm/efficientnetv2_rw_s.ra2_in1k)
[2024-10-05 18:28:30,209][timm.models._hub][INFO] - [timm/efficientnetv2_rw_s.ra2_in1k] Safe alternative available for 'pytorch_model.bin' (as 'model.safetensors'). Loading weights using safetensors.
[2024-10-05 18:28:30,216][timm.models._builder][INFO] - Converted input conv conv_stem pretrained weights from 3 to 2 channel(s)
[2024-10-05 18:28:30,229][timm.models._builder][WARNING] - Unexpected keys (bn2.bias, bn2.num_batches_tracked, bn2.running_mean, bn2.running_var, bn2.weight, classifier.bias, classifier.weight, conv_head.weight) found while loading pretrained weights. This may be expected if model is being adapted.
[2024-10-05 18:28:30,230][xview3.centernet.models.centernet_unet][INFO] - Adjusted encoder's first conv layer to have 2 input channels.
[W 2024-10-05 18:28:30,708] Trial 0 failed with parameters: {'num_layers': 5, 'num_filters': 64, 'kernel_size': 5, 'activation': 'relu', 'dropout_rate': 0.4239230831361559, 'learning_rate': 0.00012866589470813123, 'optimizer': 'Adam'} because of the following error: AssertionError('Invalid window_size: (4, 4)').
Traceback (most recent call last):
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/_optimize.py", line 197, in _run_trial
    value_or_values = func(trial)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/nas.py", line 240, in <lambda>
    lambda trial: self.evaluate_architecture(trial, config, train_loader, val_loader),
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 388, in evaluate_architecture
    model = self.nas.create_model(config, trial)  # Ensure create_model is accessible
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/nas.py", line 110, in create_model
    model = CenterNetUNetModel.from_config(updated_config)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/centernet_unet.py", line 659, in from_config
    model = cls(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/centernet_unet.py", line 173, in __init__
    self.transformer_encoder = SwinTransformerEncoder(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/transformer_classifier.py", line 82, in __init__
    self.swin = DebugSwinTransformer(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/transformer_classifier.py", line 12, in __init__
    assert isinstance(window_size, int) and window_size > 0, f"Invalid window_size: {window_size}"
AssertionError: Invalid window_size: (4, 4)
[W 2024-10-05 18:28:30,712] Trial 0 failed with value None.
Error executing job with overrides: []
Traceback (most recent call last):
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 821, in <module>
    main()
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/main.py", line 94, in decorated_main
    _run_hydra(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/utils.py", line 394, in _run_hydra
    _run_app(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/utils.py", line 457, in _run_app
    run_and_report(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/utils.py", line 223, in run_and_report
    raise ex
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/utils.py", line 220, in run_and_report
    return func()
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/utils.py", line 458, in <lambda>
    lambda: hydra.run(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/_internal/hydra.py", line 132, in run
    _ = ret.return_value
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/core/utils.py", line 260, in return_value
    raise self._return_value
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/hydra/core/utils.py", line 186, in run_job
    ret.return_value = task_function(task_cfg)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 817, in main
    pipeline.train()
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 535, in train
    self.model = self.build_model(config, train_loader, valid_loader)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 340, in build_model
    best_trial = self.nas.optimize(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/nas.py", line 239, in optimize
    study.optimize(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/study.py", line 475, in optimize
    _optimize(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/_optimize.py", line 63, in _optimize
    _optimize_sequential(
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/_optimize.py", line 160, in _optimize_sequential
    frozen_trial = _run_trial(study, func, catch)
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/_optimize.py", line 248, in _run_trial
    raise func_err
  File "/opt/anaconda3/envs/sam3/lib/python3.9/site-packages/optuna/study/_optimize.py", line 197, in _run_trial
    value_or_values = func(trial)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/nas.py", line 240, in <lambda>
    lambda trial: self.evaluate_architecture(trial, config, train_loader, val_loader),
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/train_multilabel3.py", line 388, in evaluate_architecture
    model = self.nas.create_model(config, trial)  # Ensure create_model is accessible
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/nas.py", line 110, in create_model
    model = CenterNetUNetModel.from_config(updated_config)
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/centernet_unet.py", line 659, in from_config
    model = cls(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/centernet_unet.py", line 173, in __init__
    self.transformer_encoder = SwinTransformerEncoder(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/transformer_classifier.py", line 82, in __init__
    self.swin = DebugSwinTransformer(
  File "/Volumes/Crucial/SAR-MPS-OptunaNasFbnYoloTransformers/xview3/centernet/models/transformer_classifier.py", line 12, in __init__
    assert isinstance(window_size, int) and window_size > 0, f"Invalid window_size: {window_size}"
AssertionError: Invalid window_size: (4, 4)
(sam3) samerkharboush@Samers-MBP SAR-MPS-OptunaNasFbnYoloTransformers %