claude_refactor_v3: Added .py-confs and all presets (nx5 .gin files). TODO: common gins-mapping and prepare to next step

This commit is contained in:
pikaliov
2026-04-30 12:02:15 +03:00
parent db2b5b32f4
commit e8a0de7ad3
85 changed files with 2113 additions and 985 deletions

View File

@@ -1 +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 +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

@@ -1 +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

@@ -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,32 @@
# 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