add sofia models

This commit is contained in:
pikaliov
2026-04-29 08:04:33 +03:00
parent a27b5a7357
commit 0d8c82acc3
23 changed files with 4448 additions and 44 deletions

View File

@@ -0,0 +1,42 @@
# GTA-UAV Balanced (SOFIA v1 backbone): StripNet+DCNv4 hierarchical CNN
# (~3-30M params depending on variant) trained from scratch с двухуровневой
# text fusion:
# 1. Mid-level: Text-FiLM в SAT и UAV heads (модулирует [B,C,8,8] перед GGeM).
# 2. Late-level: GatedFusion на дескрипторах.
#
# UAV head: AltitudeFiLM(drone_height) + [TextFiLM] + GGeM + BN + Linear.
# SAT head: [TextFiLM] + GGeM + BN + Linear.
# Один backbone shared между sat/uav.
#
# Variant -> размер модели:
# tiny_tiny: dims [16, 32, 80, 128] (~0.4M)
# tiny : dims [32, 64, 128, 256] (~1M)
# small : dims [64, 128, 320, 512] (~3M, default)
# small_v2 : dims [64, 128, 256, 384] (~2M)
#
# Trainable (с small variant + text fusion):
# - SOFIA v1 backbone (~3M) + heads (~0.6M)
# - DGTRS-CLIP LoRA (rank=4, ~147K)
# - TextFusionMLP (3*768 -> 1024 -> 1024, ~3.4M, shared)
# - Gates α_q, α_g + learnable τ
# Total trainable ~7M.
#
# Note: DCNv4 требует CUDA — обучение только на GPU. Не работает на CPU.
include 'conf/gtauav_balanced.gin'
# ---- Backbone ----
TrainConfigGTAUAV.backbone = "sofia_v1"
TrainConfigGTAUAV.sofia_v1_variant = "tiny"
TrainConfigGTAUAV.sofia_v1_d_descriptor = 1024
TrainConfigGTAUAV.sofia_v1_use_text_film_uav = True
TrainConfigGTAUAV.sofia_v1_use_text_film_sat = True
TrainConfigGTAUAV.sofia_v1_use_film_altitude = True
TrainConfigGTAUAV.sofia_v1_lora_rank = 4
# ---- Training overrides ----
TrainConfigGTAUAV.gradient_checkpointing = False # SOFIA v1 from-scratch
TrainConfigGTAUAV.shared_encoder = True
# ---- Output ----
TrainConfigGTAUAV.output_dir = "out/gtauav/with_text_sofia_v1"