
# how to configure the augmentations
# it's also possible to copy paste here for a finer control
defaults:
  - _self_
  - augmentations: asymmetric.yaml
  - wandb: private.yaml
  - override hydra/hydra_logging: disabled
  - override hydra/job_logging: disabled

# disable hydra outputs
hydra:
  output_subdir: null
  run:
    dir: .

name: "byol-custom-dataset"
method: "byol"
backbone:
  name: "resnet18"
method_kwargs:
  proj_hidden_dim: 4096
  proj_output_dim: 256
  pred_hidden_dim: 8192
momentum:
  base_tau: 0.99
  final_tau: 1.0
data:
  dataset: "custom"
  train_path: "PATH_TO_TRAIN_DIR"
  val_path: "PATH_TO_VAL_DIR"  # remove this if there's no validation dir
  format: "dali" # data format, supports "image_folder", "dali" or "h5"
  num_workers: 4
  # set this to True if the dataset is not stored as subfolders for each class
  # if no labels are provided, "h5" is not supported
  # convert a custom dataset by following `scripts/utils/convert_imgfolder_to_h5.py`
  no_labels: False
optimizer:
  name: "lars"
  batch_size: 64
  lr: 0.5
  classifier_lr: 0.1
  weight_decay: 1e-6
  kwargs:
    clip_lr: True
    eta: 0.02
    exclude_bias_n_norm: True
scheduler:
  name: "warmup_cosine"
checkpoint:
  enabled: True
  dir: "trained_models"
  frequency: 1
auto_resume:
  enabled: True

# overwrite PL stuff
max_epochs: 400
devices: [0, 1]
sync_batchnorm: True
accelerator: "gpu"
strategy: "ddp"
precision: 16-mixed
