# SpatialDiffuseSlot — Semanticist DiT-L/ViT (tok_L init) + OUR 85 multi-res # spatial tokens + OUR spatial-align attention mask. (2026-07-15 설계 확정본) # Phase 1 (this config): DiT trunk FROZEN (freeze_dit) — encoder/pool/cond-embedder # adapt first with LONG warmup. Phase 2: resume with freeze_dit=false + low blr. trainer: target: semanticist.engine.diffusion_trainer.DiffusionTrainer params: num_epoch: 400 valid_size: 64 blr: 2.5e-5 # Semanticist recipe (batch 256 -> lr 2.5e-5) cosine_lr: True warmup_epochs: 100 # 25% warmup (Semanticist recipe, 우리 기존 2%의 교훈) batch_size: 32 # per-gpu; 4 GPU -> eff 128 (large-batch regime 회피) num_workers: 8 pin_memory: True grad_accum_steps: 2 # eff 256 == Semanticist precision: 'bf16' max_grad_norm: 3.0 save_every: 10000 sample_every: 5000 fid_every: 50000 result_folder: "./output/tokenizer/models_l_spatial_phase2" log_dir: "./output/tokenizer/models_l_spatial_phase2/logs" cfg: 3.0 compile: False enable_ema: True model: target: semanticist.stage1.spatial_diffuse_slot.SpatialDiffuseSlot params: encoder: 'vit_base_patch16' enc_img_size: 256 enc_causal: True num_slots: 256 # KEEP 256: tok_L encoder loads 100% (slots unused) slot_dim: 16 norm_slots: True enable_nest: False enable_nest_after: -1 dit_model: 'DiT-L-2' vae: 'xwen99/mar-vae-kl16' num_sampling_steps: '250' use_repa: True repa_encoder_depth: 8 repa_loss_weight: 1.0 eval_fid: True fid_stats: 'fid_stats/adm_in256_stats.npz' # --- SpatialDiffuseSlot 전용 --- level_sizes: [8, 4, 2, 1] # 85 multi-res cond tokens pool_depth: 2 # 우리 L_repa attn-pool depth freeze_dit: False # Phase-2: DiT UNFROZEN (encoder와 동일 warmup lr) init_from: /NHNHOME/WORKSPACE/0226010398_A/sr_diffusion/clevr_sudoku/semanticist/output/tokenizer/models_l_spatial/models/step380000 ckpt_path: null # trainer가 무조건 참조 (resume용; init은 init_from) dataset: target: semanticist.utils.datasets.ImageNet params: root: ./dataset/imagenet/ split: train aug: 'randcrop' img_size: 256 test_dataset: target: semanticist.utils.datasets.ImageNet params: root: ./dataset/imagenet/ split: val aug: 'centercrop' img_size: 256