| |
| |
| |
|
|
| backbone: |
| arch: dinov3_vitl14 |
| pretrained: hitit_ocr/runs/ssl_dinov3_continual/checkpoint.pt |
| freeze: false |
|
|
| lora: |
| r: 32 |
| alpha: 64 |
| dropout: 0.1 |
| targets: ['qkv', 'proj', 'mlp.fc1', 'mlp.fc2'] |
| bias: none |
|
|
| head: |
| type: flat |
| n_classes: 198 |
| dropout: 0.3 |
|
|
| loss: |
| type: cross_entropy |
| label_smoothing: 0.1 |
| class_weights: sqrt_inverse |
| class_weight_cap: 10.0 |
|
|
| sampler: |
| type: weighted_random |
| weight_mode: sqrt_inverse |
| replacement: true |
|
|
| augmentation: |
| mixup: {alpha: 0.2, p: 0.5} |
| cutmix: {alpha: 1.0, p: 0.3} |
| elastic_transform: {alpha: 40.0, sigma: 6.0, p: 0.5} |
| grid_distortion: {num_steps: 5, distort_limit: 0.15, p: 0.3} |
| rotation: {degrees: 5, p: 0.5} |
| color_jitter: {brightness: 0.2, contrast: 0.2, p: 0.5} |
| horizontal_flip: {enabled: false} |
| illumination_variation: {enabled: true, p: 0.3} |
|
|
| optimizer: |
| type: AdamW |
| lrs: |
| backbone: 1.0e-5 |
| lora: 5.0e-4 |
| head: 1.0e-3 |
| weight_decay: 0.05 |
| betas: [0.9, 0.999] |
|
|
| scheduler: |
| type: cosine_with_warmup |
| warmup_epochs: 5 |
| total_epochs: 100 |
| eta_min: 1.0e-6 |
|
|
| ema: |
| enabled: true |
| decay: 0.9999 |
| start_epoch: 20 |
|
|
| swa: |
| enabled: true |
| start_epoch: 85 |
| swa_lr: 5.0e-5 |
| update_bn_on_end: true |
|
|
| batch_size: 64 |
| gradient_accumulation: 2 |
| epochs: 100 |
| gradient_clip_val: 1.0 |
|
|
| |
| bf16: true |
| fp16: false |
|
|
| |
| torch_compile: |
| enabled: true |
| mode: "max-autotune" |
| flash_attention: |
| enabled: true |
| version: 2 |
| fused_optimizer: |
| enabled: true |
|
|
| normalize: |
| mean: [0.489, 0.448, 0.424] |
| std: [0.362, 0.359, 0.364] |
|
|
| data: |
| manifest: datasets/sources/hitit_local/manifest_classification.parquet |
| filter: "class_sample_count >= 5 AND integrity_ok == True AND quality_gate_pass == True" |
| |
| cv: |
| strategy: tablet_view_fold |
| val_fold: 0 |
| test_fold: 4 |
| |
| aux_domain_adapt: |
| enabled: true |
| sources: ['maicubeda', 'heicubeda'] |
| weight: 0.1 |
|
|
| eval: |
| metrics: [top1_acc, top5_acc, macro_f1, balanced_acc] |
| stratify_by: class_frequency_tier |
| per_tablet_id: true |
| selective_classification: |
| enabled: true |
| thresholds: [0.3, 0.5, 0.6, 0.7, 0.8] |
|
|
| targets: |
| top1_accuracy: 0.90 |
| top5_accuracy: 0.98 |
| macro_f1: 0.88 |
| selective_acc_90cov: 0.94 |
|
|
| output_dir: hitit_ocr/runs/hitit_only_dinov3/ |
|
|