claude_refactor_v3: De-duplicate gin-configs, + "in/config_files" with common and cpecific experiment-presets gins

This commit is contained in:
pikaliov
2026-04-30 16:22:04 +03:00
parent e8a0de7ad3
commit 4b441279e0
78 changed files with 281 additions and 814 deletions

View File

@@ -0,0 +1,12 @@
# DINOv3 shared encoder + MONA-12 + DGTRS-CLIP with text.
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = True
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 12
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,14 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/with_text'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,11 @@
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = False
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 24
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/balanced_asym'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,91 @@
# SOFIA v7.1 Tiny preset (~5M params) with text fusion (Text-FiLM mid-level
# in SAT and UAV heads + GatedFusion late-level on descriptors).
#
# Tiny-specific notes:
# - num_heads_s3/s4 = 4 (channels 176/224 not divisible by 8)
# - mamba_headdim = 16 (channels not divisible by default 64)
# - mamba_variant = 'mamba1' (Mamba-2 torch fallback bug for these dims)
# - d_descriptor = 1024 (override from preset M default 512)
# - text fusion enabled (override from preset M default disabled)
ModelsCommonConfig.backbone = 'sofia_v71'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
# Variant label (informational).
SOFIAv71ModelsConfig.variant_label = 'Tiny'
# Input.
SOFIAv71ModelsConfig.input_size = 256
SOFIAv71ModelsConfig.in_channels = 3
# Stem (Tiny dims).
SOFIAv71ModelsConfig.stem_mid = 16
SOFIAv71ModelsConfig.stem_out = 32
# Backbone dimensions (Tiny).
SOFIAv71ModelsConfig.embed_dims = [48, 96, 176, 224]
SOFIAv71ModelsConfig.depths = [2, 3, 4, 2]
# Stage 1-2 block params (default).
SOFIAv71ModelsConfig.mbconv_expand = 4
SOFIAv71ModelsConfig.se_ratio = 16
SOFIAv71ModelsConfig.strip_kernel_s1 = 7
SOFIAv71ModelsConfig.strip_kernel_s2 = 5
SOFIAv71ModelsConfig.mix_kernels = [3, 5, 7]
SOFIAv71ModelsConfig.use_dcn_strip = True
# Stage 3-4 (MambaVision). Tiny: mamba1 to bypass torch fallback bug.
SOFIAv71ModelsConfig.mamba_d_state = 16
SOFIAv71ModelsConfig.mamba_dt_rank = None
SOFIAv71ModelsConfig.mamba_backend = 'auto'
SOFIAv71ModelsConfig.mamba_variant = 'mamba1'
# Mamba-2 tunables (used when mamba_variant='mamba2'; Tiny would need
# headdim=16 because 176 % 64 != 0 and 224 % 64 != 0).
SOFIAv71ModelsConfig.mamba_d_state_mamba2 = 64
SOFIAv71ModelsConfig.mamba_headdim = 16
SOFIAv71ModelsConfig.mamba_expand = 2
SOFIAv71ModelsConfig.mamba_d_conv = 4
SOFIAv71ModelsConfig.mamba_n_directions = 2
# Heads / attention (Tiny: heads=4).
SOFIAv71ModelsConfig.num_heads_s3 = 4
SOFIAv71ModelsConfig.num_heads_s4 = 4
SOFIAv71ModelsConfig.use_strip_branch_s3 = True
SOFIAv71ModelsConfig.use_strip_branch_s4 = False
SOFIAv71ModelsConfig.ffn_expand = 4
# EVSS bridge (off by default).
SOFIAv71ModelsConfig.use_evss_bridge = False
SOFIAv71ModelsConfig.evss_bridge_locations = ['pre_stage3']
# Neck (Tiny).
SOFIAv71ModelsConfig.neck_channels = 128
# CVGL Head.
SOFIAv71ModelsConfig.d_descriptor = 1024
SOFIAv71ModelsConfig.use_asymmetric_heads = True
SOFIAv71ModelsConfig.chp_rings = 8
SOFIAv71ModelsConfig.chp_angles = 16
SOFIAv71ModelsConfig.chp_harmonics = 4
SOFIAv71ModelsConfig.use_film_altitude = True
SOFIAv71ModelsConfig.altitude_norm = 500.0
SOFIAv71ModelsConfig.ring_count = 4
SOFIAv71ModelsConfig.use_ring_aux = True
# Text fusion enabled.
SOFIAv71ModelsConfig.return_normalized = True
SOFIAv71ModelsConfig.use_text_film_sat = True
SOFIAv71ModelsConfig.use_text_film_uav = True
SOFIAv71ModelsConfig.text_film_dim = 1024
SOFIAv71ModelsConfig.text_film_hidden = 256
# Sharing / KD / deploy.
SOFIAv71ModelsConfig.share_stages_1_2 = True
SOFIAv71ModelsConfig.enable_kd_taps = True
SOFIAv71ModelsConfig.precision = 'fp16'
# LoRA.
SOFIAv71ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/with_text_sofia'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,30 @@
# SOFIA v1 'tiny' variant (~1M params) with text fusion (Text-FiLM mid-level
# in SAT and UAV heads + AltitudeFiLM in UAV head + GatedFusion late-level).
ModelsCommonConfig.backbone = 'sofia_v1'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
# Backbone.
SOFIAv1ModelsConfig.variant_label = 'tiny'
SOFIAv1ModelsConfig.in_channels = 3
SOFIAv1ModelsConfig.input_size = 256
SOFIAv1ModelsConfig.dcn_variant = 'v2'
# Heads.
SOFIAv1ModelsConfig.d_descriptor = 1024
SOFIAv1ModelsConfig.return_normalized = False
# Altitude-FiLM.
SOFIAv1ModelsConfig.use_film_altitude = True
SOFIAv1ModelsConfig.altitude_norm = 500.0
# Text-FiLM.
SOFIAv1ModelsConfig.use_text_film_uav = True
SOFIAv1ModelsConfig.use_text_film_sat = True
SOFIAv1ModelsConfig.text_film_dim = 1024
SOFIAv1ModelsConfig.text_film_hidden = 256
# LoRA on DGTRS-CLIP.
SOFIAv1ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/with_text_sofia_v1'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,11 @@
# StripNet small backbone (frozen) + Conv-MONA on last 2 stages.
ModelsCommonConfig.backbone = 'stripnet'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
StripNetModelsConfig.stripnet_path = 'nn_models/STRIPNET/stripnet_s.pth'
StripNetModelsConfig.stripnet_freeze = True
StripNetModelsConfig.stripnet_mona_last_n_stages = 2
StripNetModelsConfig.stripnet_backbone_lr_factor = 0.1
StripNetModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/balanced_stripnet'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,11 @@
# StripNet small backbone (frozen) + Conv-MONA on last 2 stages.
ModelsCommonConfig.backbone = 'stripnet'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
StripNetModelsConfig.stripnet_path = 'nn_models/STRIPNET/stripnet_s.pth'
StripNetModelsConfig.stripnet_freeze = False
StripNetModelsConfig.stripnet_mona_last_n_stages = 2
StripNetModelsConfig.stripnet_backbone_lr_factor = 0.1
StripNetModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/balanced_stripnet_unfrozen'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,12 @@
# DINOv3 shared encoder + MONA-12 + DGTRS-CLIP with text.
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = True
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 12
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,14 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_inbatch'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,12 @@
# DINOv3 shared encoder + MONA-12 + DGTRS-CLIP with text.
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = False
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 24
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,14 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_asym'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,92 @@
# SOFIA v7.1 Tiny preset (~5M params) with text fusion (Text-FiLM mid-level
# in SAT and UAV heads + GatedFusion late-level on descriptors).
#
# Tiny-specific notes:
# - num_heads_s3/s4 = 4 (channels 176/224 not divisible by 8)
# - mamba_headdim = 16 (channels not divisible by default 64)
# - mamba_variant = 'mamba1' (Mamba-2 torch fallback bug for these dims)
# - d_descriptor = 1024 (override from preset M default 512)
# - text fusion enabled (override from preset M default disabled)
ModelsCommonConfig.backbone = 'sofia_v71'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
# Variant label (informational).
SOFIAv71ModelsConfig.variant_label = 'Tiny'
# Input.
SOFIAv71ModelsConfig.input_size = 256
SOFIAv71ModelsConfig.in_channels = 3
# Stem (Tiny dims).
SOFIAv71ModelsConfig.stem_mid = 16
SOFIAv71ModelsConfig.stem_out = 32
# Backbone dimensions (Tiny).
SOFIAv71ModelsConfig.embed_dims = [48, 96, 176, 224]
SOFIAv71ModelsConfig.depths = [2, 3, 4, 2]
# Stage 1-2 block params (default).
SOFIAv71ModelsConfig.mbconv_expand = 4
SOFIAv71ModelsConfig.se_ratio = 16
SOFIAv71ModelsConfig.strip_kernel_s1 = 7
SOFIAv71ModelsConfig.strip_kernel_s2 = 5
SOFIAv71ModelsConfig.mix_kernels = [3, 5, 7]
SOFIAv71ModelsConfig.use_dcn_strip = True
# Stage 3-4 (MambaVision). Tiny: mamba1 to bypass torch fallback bug.
SOFIAv71ModelsConfig.mamba_d_state = 16
SOFIAv71ModelsConfig.mamba_dt_rank = None
SOFIAv71ModelsConfig.mamba_backend = 'auto'
SOFIAv71ModelsConfig.mamba_variant = 'mamba1'
# Mamba-2 tunables (used when mamba_variant='mamba2'; Tiny would need
# headdim=16 because 176 % 64 != 0 and 224 % 64 != 0).
SOFIAv71ModelsConfig.mamba_d_state_mamba2 = 64
SOFIAv71ModelsConfig.mamba_headdim = 16
SOFIAv71ModelsConfig.mamba_expand = 2
SOFIAv71ModelsConfig.mamba_d_conv = 4
SOFIAv71ModelsConfig.mamba_n_directions = 2
# Heads / attention (Tiny: heads=4).
SOFIAv71ModelsConfig.num_heads_s3 = 4
SOFIAv71ModelsConfig.num_heads_s4 = 4
SOFIAv71ModelsConfig.use_strip_branch_s3 = True
SOFIAv71ModelsConfig.use_strip_branch_s4 = False
SOFIAv71ModelsConfig.ffn_expand = 4
# EVSS bridge (off by default).
SOFIAv71ModelsConfig.use_evss_bridge = False
SOFIAv71ModelsConfig.evss_bridge_locations = ['pre_stage3']
# Neck (Tiny).
SOFIAv71ModelsConfig.neck_channels = 128
# CVGL Head.
SOFIAv71ModelsConfig.d_descriptor = 1024
SOFIAv71ModelsConfig.use_asymmetric_heads = True
SOFIAv71ModelsConfig.chp_rings = 8
SOFIAv71ModelsConfig.chp_angles = 16
SOFIAv71ModelsConfig.chp_harmonics = 4
SOFIAv71ModelsConfig.use_film_altitude = True
SOFIAv71ModelsConfig.altitude_norm = 500.0
SOFIAv71ModelsConfig.ring_count = 4
SOFIAv71ModelsConfig.use_ring_aux = True
# Text fusion enabled.
SOFIAv71ModelsConfig.return_normalized = True
SOFIAv71ModelsConfig.use_text_film_sat = True
SOFIAv71ModelsConfig.use_text_film_uav = True
SOFIAv71ModelsConfig.text_film_dim = 1024
SOFIAv71ModelsConfig.text_film_hidden = 256
# Sharing / KD / deploy.
SOFIAv71ModelsConfig.share_stages_1_2 = True
SOFIAv71ModelsConfig.enable_kd_taps = True
SOFIAv71ModelsConfig.precision = 'fp16'
# LoRA.
SOFIAv71ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_sofia'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,31 @@
# SOFIA v1 'tiny' variant (~1M params) with text fusion (Text-FiLM mid-level
# in SAT and UAV heads + AltitudeFiLM in UAV head + GatedFusion late-level).
ModelsCommonConfig.backbone = 'sofia_v1'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
# Backbone.
SOFIAv1ModelsConfig.variant_label = 'tiny'
SOFIAv1ModelsConfig.in_channels = 3
SOFIAv1ModelsConfig.input_size = 256
SOFIAv1ModelsConfig.dcn_variant = 'v2'
# Heads.
SOFIAv1ModelsConfig.d_descriptor = 1024
SOFIAv1ModelsConfig.return_normalized = False
# Altitude-FiLM.
SOFIAv1ModelsConfig.use_film_altitude = True
SOFIAv1ModelsConfig.altitude_norm = 500.0
# Text-FiLM.
SOFIAv1ModelsConfig.use_text_film_uav = True
SOFIAv1ModelsConfig.use_text_film_sat = True
SOFIAv1ModelsConfig.text_film_dim = 1024
SOFIAv1ModelsConfig.text_film_hidden = 256
# LoRA on DGTRS-CLIP.
SOFIAv1ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_sofia_v1'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,12 @@
# StripNet small backbone (frozen) + Conv-MONA on last 2 stages.
ModelsCommonConfig.backbone = 'stripnet'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
StripNetModelsConfig.stripnet_path = 'nn_models/STRIPNET/stripnet_s.pth'
StripNetModelsConfig.stripnet_freeze = True
StripNetModelsConfig.stripnet_mona_last_n_stages = 2
StripNetModelsConfig.stripnet_backbone_lr_factor = 0.1
StripNetModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_stripnet'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,11 @@
# StripNet small backbone (unfrozen) + Conv-MONA on last 2 stages.
ModelsCommonConfig.backbone = 'stripnet'
ModelsCommonConfig.baseline_mode = True
ModelsCommonConfig.init_gate = 0.7
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
StripNetModelsConfig.stripnet_path = 'nn_models/STRIPNET/stripnet_s.pth'
StripNetModelsConfig.stripnet_freeze = False
StripNetModelsConfig.stripnet_mona_last_n_stages = 2
StripNetModelsConfig.stripnet_backbone_lr_factor = 0.1
StripNetModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/baseline_stripnet_unfrozen'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,13 @@
# DINOv3 shared encoder + MONA-12 + DGTRS-CLIP with text.
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.9
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = True
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 12
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/image_heavy'
PipelineConfig.resume_from = None

View File

@@ -0,0 +1,13 @@
# DINOv3 shared encoder + MONA-12 + DGTRS-CLIP with text.
ModelsCommonConfig.backbone = 'dinov3'
ModelsCommonConfig.baseline_mode = False
ModelsCommonConfig.init_gate = 0.3
ModelsCommonConfig.lrsclip_path = 'nn_models/LRSCLIP/DGTRS-CLIP-ViT-L-14.pt'
DINOv3ModelsConfig.dino_web_path = 'nn_models/DINO_WEB/dinov3-vitl16-pretrain-lvd1689m.pth'
DINOv3ModelsConfig.dino_sat_path = 'nn_models/DINO_SAT/model.safetensors'
DINOv3ModelsConfig.shared_encoder = True
DINOv3ModelsConfig.mona_bottleneck = 64
DINOv3ModelsConfig.mona_last_n_blocks = 12
DINOv3ModelsConfig.lora_rank = 4

View File

@@ -0,0 +1,15 @@
# Pipeline: GTA-UAV-LR with text captions, servml workstation paths.
PipelineConfig.train_json = 'meta/train_80.json'
PipelineConfig.test_json = 'meta/test_20.json'
PipelineConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PipelineConfig.caption_root = '/home/servml/Документы/datasets/GTA-UAV-LR-captions'
PipelineConfig.filter_meta = 'meta/seg_filter.json'
PipelineConfig.epochs = 10
PipelineConfig.warmup_epochs = 2
PipelineConfig.eval_every = 1
PipelineConfig.seed = 42
PipelineConfig.output_dir = 'out/gtauav/text_heavy'
PipelineConfig.resume_from = None

View File

@@ -1 +0,0 @@

View File

@@ -0,0 +1,9 @@
# RTX 4090 profile, shared encoder (DINOv3).
HardwareConfig.device = 'cuda'
HardwareConfig.batch_size = 8
HardwareConfig.grad_accum_steps = 8
HardwareConfig.num_workers = 4
HardwareConfig.use_amp = True
HardwareConfig.gradient_checkpointing = True
HardwareConfig.reserve_gb = 2.0
HardwareConfig.total_vram_gb = 24.0

View File

@@ -0,0 +1,10 @@
# SOFIA v7.1 from-scratch — keep activations live (no gradient checkpointing).
HardwareConfig.device = 'cuda'
HardwareConfig.batch_size = 8
HardwareConfig.grad_accum_steps = 8
HardwareConfig.num_workers = 4
HardwareConfig.use_amp = True
HardwareConfig.gradient_checkpointing = False
HardwareConfig.reserve_gb = 2.0
HardwareConfig.total_vram_gb = 24.0

View File

@@ -1 +0,0 @@

View File

@@ -1 +0,0 @@

View File

@@ -0,0 +1,20 @@
# Preprocessing config used by scripts/make_split.py and
# scripts/filter_segmentation.py. Independent from training pipeline.
# Inputs.
PreprocessConfig.rgb_root = '/home/servml/Документы/datasets/GTA-UAV-LR'
PreprocessConfig.segm_root = '/home/servml/Документы/datasets/GTA-UAV-LR-aug/segm'
# make_split.py — 80/20 split with seed=42.
PreprocessConfig.split_ratio = 0.8
PreprocessConfig.split_seed = 42
PreprocessConfig.split_input_train = 'cross-area-drone2sate-train.json'
PreprocessConfig.split_input_test = 'cross-area-drone2sate-test.json'
PreprocessConfig.split_output_dir = 'meta'
PreprocessConfig.split_output_train = 'train_80.json'
PreprocessConfig.split_output_test = 'test_20.json'
# filter_segmentation.py — exclude images with >=90% background+water.
PreprocessConfig.seg_threshold = 0.90
PreprocessConfig.seg_exclude_classes = [0, 4]
PreprocessConfig.seg_filter_output = 'meta/seg_filter.json'

View File

@@ -1 +1,16 @@
# Default tracking: TensorBoard on, W&B off, no Grad-CAM, no profiler.
TrackingConfig.use_wandb = False
TrackingConfig.use_tb = True
TrackingConfig.wandb_project = 'caption-test-gtauav'
TrackingConfig.wandb_run_name = None
TrackingConfig.wandb_entity = None
TrackingConfig.log_grad_norms = True
TrackingConfig.use_gradcam = False
TrackingConfig.gradcam_every = 5
TrackingConfig.gradcam_samples = 8
TrackingConfig.use_profiler = False
TrackingConfig.profiler_warmup = 3
TrackingConfig.profiler_active = 5

View File

@@ -1 +1,31 @@
# Loss + optimizer + sampler — symmetric InfoNCE, AdamW, mutex sampler.
TrainingConfig.loss_type = 'symmetric'
TrainingConfig.tau_init = 0.07
TrainingConfig.tau_min = 0.01
TrainingConfig.tau_max = 0.1
TrainingConfig.learnable_temperature = True
TrainingConfig.label_smoothing = 0.1
TrainingConfig.tau_final = 0.01
TrainingConfig.weight_q2g = 0.6
TrainingConfig.weight_g2q = 0.4
TrainingConfig.hard_mining_k = 0
TrainingConfig.neg_bank_size = 0
# WeightedInfoNCE-only (unused when loss_type='symmetric').
TrainingConfig.weighted_loss_k = 5.0
TrainingConfig.learning_rate = 1e-4
TrainingConfig.text_lr_factor = 0.1
TrainingConfig.weight_decay = 1e-4
TrainingConfig.grad_clip = 1.0
TrainingConfig.sampler_type = 'mutex'
TrainingConfig.dss_warmup_epochs = 1
TrainingConfig.dss_reembed_every = 1
TrainingConfig.dss_knn_device = 'cuda'
TrainingConfig.dss_use_lsh = False
TrainingConfig.dss_lsh_num_tables = 8
TrainingConfig.dss_lsh_num_bits = 14
TrainingConfig.dss_cache_dir = None
TrainingConfig.use_mutex_sampler = True