File size: 3,857 Bytes
747451d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
general:
  project_name: '' 
  output: '' 
  saved_models_dir: saved_models
  
  display_figures: False 
  seed: 42 
  gpu_memory_limit: 3 
  workers: 4 
  log_interval: 50
  recovery_interval: 0
  checkpoint_hist: 10
  save_images: False
  amp: false
  amp_dtype: "float16"
  amp_impl: "native"
  no_ddp_bb: false
  synchronize_step: false
  pin_mem: false 
  no_prefetcher: true
  eval_metric: "top1"
  tta: 0
  local_rank: 0
  use_multi_epochs_loader: false
  log_wandb: false
  log_tb: false

operation_mode: training 

# quantization:
#    quantizer: Onnx_quantizer
#    quantization_type: PTQ
#    quantization_input_type: uint8
#    quantization_output_type: float
#    export_dir: quantized_models

dataset:
  dataset_name: "imagenet" # options "flowers102", "food101", "imagenet"
  class_names: '' # how is class_names used, torch especially imagenet requires a dict called class_map
  classes_file_path: ./datasets/deployment_labels_imagenet.txt
  num_classes: 1000 # change according to your dataset
  data_dir: 'local/datasets/' # provide root folder which cotnains imagenet folder and this can also be used for quantization as a fall back
  #train_split: "train" # folder name under root (for imagenet) Optional for standard imagenet
  #val_split: "validation" # folder name under root (for imagenet) Optional for standard imagenet
  #test_path: '/local/datasets/ic_imagenet_2012/val/'
  #quantization_path: '/local/datasets/ic_imagenet_2012/val/'
  #prediction_path: '/local/datasets/ic_imagenet_2012/n01440764/'
   
preprocessing: 
  rescaling:
    scale: 1/255.0 # TODO scale node is already present under data_augmentation
    offset: 0
  resizing:
    interpolation: nearest # nearest 'Image resize interpolation type (overrides model)'
    aspect_ratio: fit
  color_mode: rgb
  mean: [0.485, 0.456, 0.406] # 'Override mean pixel value of dataset'
  std: [0.229, 0.224, 0.225] # 'Override std deviation of dataset'

data_augmentation:
  no_aug: False  
  scale: [0.08, 1.0] # TODO scale node is already present under data_augmentation
  ratio: [0.75, 1.33]
  horizontal_flip: 0.5
  vertical_flip: 0.0
  hflip: 0.5
  vflip: 0.0
  color_jitter: 0.4
  aa: null 
  aug_repeats: 0
  aug_splits: 0
  jsd_loss: False
  bce_loss: False
  bce_target_thresh: null
  reprob: 0 
  remode: 'pixel' 
  recount: 1 
  resplit: False  
  mixup: 0.0
  cutmix: 0.0
  cutmix_minmax: null  # Example: [0.3, 0.8]
  mixup_prob: 1.0
  mixup_switch_prob: 0.5
  mixup_mode: "batch"
  smoothing: 0.1
  train_interpolation: "random"
  drop: 0.0
  drop_connect: null
  drop_path: null
  drop_block: null

model: 
  model_name: 'mobilenetv2_w035_pt' 
  pretrained: True
  pretrained_dataset: "imagenet"
  input_shape: [3, 224, 224]

training:
  epochs: 2
  batch_size: 256
  validation_batch_size: null

  optimizer:
    opt: 'sgd' 
    opt-eps: null 
    opt-betas: null 
    momentum: 0.9
    weight_decay: !!float 2e-5
    clip_grad: null
    clip_mode: 'norm'
    layer_decay: null

  lr_scheduler:
    sched: 'cosine'
    sched_on_updates: False
    lr: null
    lr_base: 0.1
    lr_base_size: 256
    lr_base_scale: ''
    lr_noise: null
    lr_noise_pct: 0.67
    lr_noise_std: 1.0
    lr_cycle_mul: 1.0
    lr_cycle_decay: 0.5
    lr_cycle_limit: 1
    lr_k_decay: 1.0
    warmup_lr: !!float 1e-5
    min_lr: 0
    epoch_repeats: 0
    start_epoch: 0
    decay_milestones: [90, 180, 270]
    decay_epochs: 90 
    warmup_epochs: 5
    warmup_prefix: False
    cooldown_epochs: 0
    patience_epochs: 10
    decay_rate: 0.1

  bn_momentum: null
  bn_eps: null
  sync_bn: false
  dist_bn: "reduce"
  split_bn: false
  #distributed: True

  model_ema: false
  model_ema_force_cpu: false
  model_ema_decay: 0.9998
  worker_seeding: all

mlflow:
  uri: ./pt/src/experiments_outputs/mlruns

hydra:
  run:
    dir: ./pt/src/experiments_outputs/${now:%Y_%m_%d_%H_%M_%S}