multigeom / diffusion /diffusion.yaml
sazio's picture
Encoder and diffusion checkpoints for the NeurIPS 2026 paper
556cdf0 verified
Raw History Blame Contribute Delete
1 kB
# Conditional diffusion model configuration (shared across encoders/areas).
# Single-channel 64x64 DDPM conditioned on a 50-d response vector.
unet:
image_size: 64
in_channels: 1
out_channels: 1
block_channels: [64, 128, 256, 512]
layers_per_block: 2
cross_attention_dim: 256
conditioning:
embedding_dim: 256
mlp_layers: [50, 256, 256, 256] # 50 neurons → 256-d token
mlp_activation: silu
cfg_dropout_rate: 0.1 # classifier-free guidance dropout
observation_noise_sigma: 0.22 # σ for ξ added to r at training time
scheduler:
num_train_timesteps: 1000
beta_schedule: linear
beta_start: 1.0e-4
beta_end: 0.02
prediction_type: epsilon
train:
data: tiny_imagenet
data_split: train
n_train_images: 100000
optimizer: adamw
lr: 1.0e-4
weight_decay: 1.0e-4
scheduler: cosine
warmup_steps: 500
batch_size: 128
epochs: 200 # 200-ep checkpoint used for figures
precision: bfloat16
gradient_clip: 1.0
seed: 42