claude_refactor_v3: De-duplicate gin-configs, + "in/config_files" with common and cpecific experiment-presets gins
This commit is contained in:
12
in/config_files/gtauav_balanced/models.gin
Normal file
12
in/config_files/gtauav_balanced/models.gin
Normal 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
|
||||
14
in/config_files/gtauav_balanced/pipeline.gin
Normal file
14
in/config_files/gtauav_balanced/pipeline.gin
Normal 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
|
||||
11
in/config_files/gtauav_balanced_asym/models.gin
Normal file
11
in/config_files/gtauav_balanced_asym/models.gin
Normal 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
|
||||
15
in/config_files/gtauav_balanced_asym/pipeline.gin
Normal file
15
in/config_files/gtauav_balanced_asym/pipeline.gin
Normal 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
|
||||
|
||||
91
in/config_files/gtauav_balanced_sofia/models.gin
Normal file
91
in/config_files/gtauav_balanced_sofia/models.gin
Normal 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
|
||||
15
in/config_files/gtauav_balanced_sofia/pipeline.gin
Normal file
15
in/config_files/gtauav_balanced_sofia/pipeline.gin
Normal 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
|
||||
|
||||
30
in/config_files/gtauav_balanced_sofia_v1/models.gin
Normal file
30
in/config_files/gtauav_balanced_sofia_v1/models.gin
Normal 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
|
||||
15
in/config_files/gtauav_balanced_sofia_v1/pipeline.gin
Normal file
15
in/config_files/gtauav_balanced_sofia_v1/pipeline.gin
Normal 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
|
||||
|
||||
11
in/config_files/gtauav_balanced_stripnet/models.gin
Normal file
11
in/config_files/gtauav_balanced_stripnet/models.gin
Normal 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
|
||||
15
in/config_files/gtauav_balanced_stripnet/pipeline.gin
Normal file
15
in/config_files/gtauav_balanced_stripnet/pipeline.gin
Normal 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
|
||||
|
||||
11
in/config_files/gtauav_balanced_stripnet_unfrozen/models.gin
Normal file
11
in/config_files/gtauav_balanced_stripnet_unfrozen/models.gin
Normal 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
|
||||
@@ -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
|
||||
|
||||
12
in/config_files/gtauav_baseline/models.gin
Normal file
12
in/config_files/gtauav_baseline/models.gin
Normal 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
|
||||
14
in/config_files/gtauav_baseline/pipeline.gin
Normal file
14
in/config_files/gtauav_baseline/pipeline.gin
Normal 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
|
||||
12
in/config_files/gtauav_baseline_asym/models.gin
Normal file
12
in/config_files/gtauav_baseline_asym/models.gin
Normal 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
|
||||
14
in/config_files/gtauav_baseline_asym/pipeline.gin
Normal file
14
in/config_files/gtauav_baseline_asym/pipeline.gin
Normal 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
|
||||
92
in/config_files/gtauav_baseline_sofia/models.gin
Normal file
92
in/config_files/gtauav_baseline_sofia/models.gin
Normal 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
|
||||
|
||||
15
in/config_files/gtauav_baseline_sofia/pipeline.gin
Normal file
15
in/config_files/gtauav_baseline_sofia/pipeline.gin
Normal 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
|
||||
|
||||
31
in/config_files/gtauav_baseline_sofia_v1/models.gin
Normal file
31
in/config_files/gtauav_baseline_sofia_v1/models.gin
Normal 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
|
||||
|
||||
15
in/config_files/gtauav_baseline_sofia_v1/pipeline.gin
Normal file
15
in/config_files/gtauav_baseline_sofia_v1/pipeline.gin
Normal 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
|
||||
|
||||
12
in/config_files/gtauav_baseline_stripnet/models.gin
Normal file
12
in/config_files/gtauav_baseline_stripnet/models.gin
Normal 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
|
||||
|
||||
15
in/config_files/gtauav_baseline_stripnet/pipeline.gin
Normal file
15
in/config_files/gtauav_baseline_stripnet/pipeline.gin
Normal 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
|
||||
|
||||
11
in/config_files/gtauav_baseline_stripnet_unfrozen/models.gin
Normal file
11
in/config_files/gtauav_baseline_stripnet_unfrozen/models.gin
Normal 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
|
||||
@@ -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
|
||||
|
||||
13
in/config_files/gtauav_image_heavy/models.gin
Normal file
13
in/config_files/gtauav_image_heavy/models.gin
Normal 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
|
||||
|
||||
15
in/config_files/gtauav_image_heavy/pipeline.gin
Normal file
15
in/config_files/gtauav_image_heavy/pipeline.gin
Normal 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
|
||||
|
||||
13
in/config_files/gtauav_text_heavy/models.gin
Normal file
13
in/config_files/gtauav_text_heavy/models.gin
Normal 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
|
||||
|
||||
15
in/config_files/gtauav_text_heavy/pipeline.gin
Normal file
15
in/config_files/gtauav_text_heavy/pipeline.gin
Normal 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
9
in/config_files/hardware_default.gin
Normal file
9
in/config_files/hardware_default.gin
Normal 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
|
||||
10
in/config_files/hardware_no_gradckpt.gin
Normal file
10
in/config_files/hardware_no_gradckpt.gin
Normal 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
20
in/config_files/preprocess/preprocess.gin
Normal file
20
in/config_files/preprocess/preprocess.gin
Normal 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'
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user