Files

93 lines
3.1 KiB
Plaintext

# 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