File size: 8,197 Bytes
c6b353a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
training_hyperparams:
  resume: null
  run_id: null
  resume_path: null
  resume_from_remote_sg_logger: false
  ckpt_name: ckpt_latest.pth
  lr_mode: CosineLRScheduler
  lr_schedule_function: null
  lr_warmup_epochs: 3
  lr_warmup_steps: 1000
  lr_cooldown_epochs: 0
  warmup_initial_lr: 1.0e-06
  step_lr_update_freq: null
  cosine_final_lr_ratio: 0.1
  warmup_mode: LinearEpochLRWarmup
  lr_updates:
    _target_: super_gradients.training.utils.utils.empty_list
  pre_prediction_callback: null
  optimizer: AdamW
  optimizer_params:
    weight_decay: 0.0001
  load_opt_params: true
  zero_weight_decay_on_bias_and_bn: true
  loss: PPYoloELoss
  criterion_params:
    use_static_assigner: false
    num_classes: ${num_classes}
    reg_max: 16
  ema: true
  ema_params:
    decay: 0.9
    decay_type: threshold
    beta: 15
  train_metrics_list: []
  valid_metrics_list:
  - DetectionMetrics_050:
      score_thres: 0.1
      top_k_predictions: 300
      num_cls: ${num_classes}
      normalize_targets: true
      post_prediction_callback:
        _target_: super_gradients.training.models.detection_models.pp_yolo_e.PPYoloEPostPredictionCallback
        score_threshold: 0.01
        nms_top_k: 1000
        max_predictions: 300
        nms_threshold: 0.7
  metric_to_watch: [email protected]
  greater_metric_to_watch_is_better: true
  launch_tensorboard: false
  tensorboard_port: null
  tb_files_user_prompt: false
  save_tensorboard_to_s3: false
  precise_bn: false
  precise_bn_batch_size: null
  sync_bn: true
  silent_mode: false
  mixed_precision: true
  save_ckpt_epoch_list:
  - 100
  - 200
  - 250
  average_best_models: true
  dataset_statistics: false
  batch_accumulate: 1
  run_validation_freq: 1
  run_test_freq: 1
  save_model: true
  seed: 42
  phase_callbacks: []
  log_installed_packages: true
  clip_grad_norm: null
  ckpt_best_name: ckpt_best.pth
  max_train_batches: null
  max_valid_batches: null
  sg_logger: base_sg_logger
  sg_logger_params:
    tb_files_user_prompt: false
    launch_tensorboard: false
    tensorboard_port: null
    save_checkpoints_remote: false
    save_tensorboard_remote: false
    save_logs_remote: false
    monitor_system: true
  torch_compile: false
  torch_compile_loss: false
  torch_compile_options:
    mode: reduce-overhead
    fullgraph: false
    dynamic: false
    backend: inductor
    options: null
    disable: false
  finetune: false
  _convert_: all
  max_epochs: 100
  initial_lr: 0.0004
dataset_params:
  data_dir: /workspace/final-final-3
  dataset_name: ${dataset_name}
  train_dataset_params:
    data_dir: ${..data_dir}
    dataset_name: ${..dataset_name}
    split: train
    input_dim:
    - 640
    - 640
    cache_annotations: true
    ignore_empty_annotations: false
    transforms:
    - DetectionMosaic:
        input_dim: ${dataset_params.train_dataset_params.input_dim}
        prob: 1.0
    - DetectionRandomAffine:
        degrees: 0.0
        translate: 0.1
        scales:
        - 0.5
        - 1.5
        shear: 0.0
        target_size: ${dataset_params.train_dataset_params.input_dim}
        filter_box_candidates: false
        wh_thr: 2
        area_thr: 0.1
        ar_thr: 20
        border_value: 128
    - DetectionHSV:
        prob: 1.0
        hgain: 5
        sgain: 30
        vgain: 30
    - DetectionHorizontalFlip:
        prob: 0.5
    - DetectionPaddedRescale:
        input_dim: ${dataset_params.train_dataset_params.input_dim}
    - DetectionStandardize:
        max_value: 255.0
    - DetectionTargetsFormatTransform:
        input_dim: ${dataset_params.train_dataset_params.input_dim}
        output_format: LABEL_CXCYWH
    class_inclusion_list: null
    max_num_samples: null
    with_crowd: false
    verbose: 0
  train_dataloader_params:
    shuffle: true
    batch_size: 12
    min_samples: 512
    num_workers: 4
    drop_last: false
    pin_memory: true
    worker_init_fn:
      _target_: super_gradients.training.utils.utils.load_func
      dotpath: super_gradients.training.datasets.datasets_utils.worker_init_reset_seed
    collate_fn: DetectionCollateFN
  val_dataset_params:
    data_dir: ${..data_dir}
    dataset_name: ${..dataset_name}
    split: valid
    input_dim:
    - 640
    - 640
    cache_annotations: true
    ignore_empty_annotations: false
    transforms:
    - DetectionPaddedRescale:
        input_dim: ${dataset_params.val_dataset_params.input_dim}
        pad_value: 114
    - DetectionStandardize:
        max_value: 255.0
    - DetectionTargetsFormatTransform:
        input_dim: ${dataset_params.val_dataset_params.input_dim}
        output_format: LABEL_CXCYWH
    class_inclusion_list: null
    max_num_samples: null
    with_crowd: true
    verbose: 0
  val_dataloader_params:
    batch_size: 16
    num_workers: 4
    drop_last: false
    shuffle: false
    pin_memory: true
    collate_fn: CrowdDetectionCollateFN
  _convert_: all
checkpoint_params:
  load_checkpoint: false
  load_backbone: false
  checkpoint_path: null
  external_checkpoint_path: null
  source_ckpt_folder_name: null
  strict_load:
    _target_: super_gradients.training.sg_trainer.StrictLoad
    value: no_key_matching
  pretrained_weights: coco
  checkpoint_num_classes: null
arch_params:
  in_channels: 3
  backbone:
    NStageBackbone:
      stem:
        YoloNASStem:
          out_channels: 48
      stages:
      - YoloNASStage:
          out_channels: 96
          num_blocks: 2
          activation_type: relu
          hidden_channels: 64
          concat_intermediates: true
      - YoloNASStage:
          out_channels: 192
          num_blocks: 3
          activation_type: relu
          hidden_channels: 128
          concat_intermediates: true
      - YoloNASStage:
          out_channels: 384
          num_blocks: 5
          activation_type: relu
          hidden_channels: 256
          concat_intermediates: true
      - YoloNASStage:
          out_channels: 768
          num_blocks: 2
          activation_type: relu
          hidden_channels: 384
          concat_intermediates: false
      context_module:
        SPP:
          output_channels: 768
          activation_type: relu
          k:
          - 5
          - 9
          - 13
      out_layers:
      - stage1
      - stage2
      - stage3
      - context_module
  neck:
    YoloNASPANNeckWithC2:
      neck1:
        YoloNASUpStage:
          out_channels: 192
          num_blocks: 2
          hidden_channels: 192
          width_mult: 1
          depth_mult: 1
          activation_type: relu
          reduce_channels: true
      neck2:
        YoloNASUpStage:
          out_channels: 96
          num_blocks: 3
          hidden_channels: 64
          width_mult: 1
          depth_mult: 1
          activation_type: relu
          reduce_channels: true
      neck3:
        YoloNASDownStage:
          out_channels: 192
          num_blocks: 2
          hidden_channels: 192
          activation_type: relu
          width_mult: 1
          depth_mult: 1
      neck4:
        YoloNASDownStage:
          out_channels: 384
          num_blocks: 3
          hidden_channels: 256
          activation_type: relu
          width_mult: 1
          depth_mult: 1
  heads:
    NDFLHeads:
      num_classes: 80
      reg_max: 16
      heads_list:
      - YoloNASDFLHead:
          inter_channels: 128
          width_mult: 0.75
          first_conv_group_size: 0
          stride: 8
      - YoloNASDFLHead:
          inter_channels: 256
          width_mult: 0.75
          first_conv_group_size: 0
          stride: 16
      - YoloNASDFLHead:
          inter_channels: 512
          width_mult: 0.75
          first_conv_group_size: 0
          stride: 32
  bn_eps: 0.001
  bn_momentum: 0.03
  inplace_act: true
  _convert_: all
  num_classes: ${num_classes}
train_dataloader: roboflow_train_yolox
val_dataloader: roboflow_val_yolox
dataset_name: final-final-c2j0n-mdjfm/3
num_classes: 7
architecture: yolo_nas_m
load_checkpoint: false
result_path: null
resume: null
multi_gpu: false
num_gpus: 1
experiment_suffix: ''
experiment_name: ${architecture}_roboflow_${dataset_name}${experiment_suffix}
lr: 0.0004
batch_size: 12
val_batch_size: 16
ema: true
epochs: 100
num_workers: 4
ckpt_root_dir: null