HamzaCherkaoui's picture
Export trained reference models
4eccf06 verified
|
Raw History Blame Contribute Delete
5.36 kB
---
library_name: gendynamics
license: mit
tags:
- diffusion
- unconditional-generation
---
# synthetic_alpha_stable_mixture
Unconditional reference models trained with gendynamics. The weights correspond to the best validation epoch.
## Dataset
Synthetic unbalanced high-dimensional alpha-stable mixture. Generated by `gendynamics.datasets.fetch_synthetic_data('unbalanced_highdim_alpha_stable_mixture')`. Sample the configured mixture, then make a seeded random train/validation/test split.
The train/validation/test splits contain 25,000/1,000/10,000 samples
of shape `[150]`. Normalization: None
The exact generator arguments or processed-file identity, split settings, and seed are in `dataset.json`.
The source data themselves are not redistributed here; source-data terms remain with their provider.
The preparation code is in [gendynamics](https://github.com/Diffusion-Research-Lab/gendynamics). API-backed sources can change; the processed-file checksum identifies this snapshot.
## Architecture and training
All independently trained models use this network architecture:
```json
{
"name": "mlp",
"params": {
"width": 240,
"depth": 4,
"time_dim": 128,
"dropout": 0.0,
"use_norm": true,
"dim": 150
}
}
```
| Directory | Model | Prediction target | Trainable parameters | Sampling steps | Learning rate | Epochs run / best | Val loss | Test loss |
|---|---|---|---:|---:|---:|---:|---:|---:|
| ddpm-v | DDPM-V | velocity | 693,894 | 128 | 0.0005 | 562 / 462 | 8.425 | 4.067 |
| dlpm-eps | DLPM-Eps | noise | 693,894 | 128 | 0.0005 | 256 / 156 | 0.8574 | 0.9514 |
| tedm-origin | t-EDM | denoised data | 693,894 | 64 | 0.0005 | 158 / 58 | 1.412 | 3.308 |
The complete **selected final** model and training settings are below and in each directory's `config.json`.
The training settings include the maximum epoch budget; `epochs run / best` reports what actually happened.
`provenance.json` records software versions and the source revision. Each model was reloaded and checked before upload;
`export_check.json` records that check. Losses use each model's own objective, so they are not comparable sample-quality scores.
The number of held-out rows used for each test loss is in `metrics.json`. Sample previews do not establish tail accuracy.
### DDPM-V (`ddpm-v/`)
```json
{
"model_parameters": {
"n_steps": 128,
"sigma_max": 2.0,
"sampler": "ddpm"
},
"training": {
"device": "cuda",
"data_device": "cpu",
"batch_size": 1024,
"n_epochs": 640,
"early_stopping_patience": 100,
"lr": 0.0005,
"num_workers": 0,
"use_adamw": true,
"weight_decay": 1e-06,
"grad_clip_norm": 10.0,
"lr_schedule": "cosine",
"warmup_steps": 400,
"cosine_eta_min_ratio": 0.05,
"freq_logging": 50,
"stats_freq_epochs": 1,
"log_grad_norm": true,
"ckpt_freq_epochs": 64,
"ckpt_keep_last": 8
}
}
```
### DLPM-Eps (`dlpm-eps/`)
```json
{
"model_parameters": {
"n_steps": 128,
"alpha": 1.8,
"sampler": "native"
},
"training": {
"device": "cuda",
"data_device": "cpu",
"batch_size": 1024,
"n_epochs": 640,
"early_stopping_patience": 100,
"lr": 0.0005,
"num_workers": 0,
"use_adamw": true,
"weight_decay": 1e-06,
"grad_clip_norm": 10.0,
"lr_schedule": "cosine",
"warmup_steps": 400,
"cosine_eta_min_ratio": 0.05,
"freq_logging": 50,
"stats_freq_epochs": 1,
"log_grad_norm": true,
"ckpt_freq_epochs": 64,
"ckpt_keep_last": 8
}
}
```
### t-EDM (`tedm-origin/`)
```json
{
"model_parameters": {
"n_steps": 64,
"nu": 2.2,
"sigma_min": 0.005,
"sigma_max": 5.0,
"sigma_data": 1.0,
"solver": "edm_stochastic_heun"
},
"training": {
"device": "cuda",
"data_device": "cpu",
"batch_size": 1024,
"n_epochs": 640,
"early_stopping_patience": 100,
"lr": 0.0005,
"num_workers": 0,
"use_adamw": true,
"weight_decay": 1e-06,
"grad_clip_norm": 10.0,
"lr_schedule": "cosine",
"warmup_steps": 400,
"cosine_eta_min_ratio": 0.05,
"freq_logging": 50,
"stats_freq_epochs": 1,
"log_grad_norm": true,
"ckpt_freq_epochs": 64,
"ckpt_keep_last": 8
}
}
```
DDIM-V (`ddim-v/`) shares the trained DDPM-V weights. Only the reverse sampler changes to deterministic DDIM (`eta=0`); it has no separate training run. Its exact sampling settings are in `ddim-v/config.json`.
## Loading
Install the training package and its dependencies:
python -m pip install git+https://github.com/Diffusion-Research-Lab/2_training_2026_tail_reference_models.git
Then load one of the listed model directories by its underscored name:
from toolkit.huggingface import load_huggingface_model
model, normalization, data_scale = load_huggingface_model("Diffusion-Research-Lab/alpha-stable-mixture-1p7-150d-diffusion", "ddpm_v", device="cpu")
samples = model.sample(16).float().cpu()
if normalization is not None:
samples = samples * normalization["std"] + normalization["mean"]
The model-specific files are `model.safetensors`, `config.json`, `dataset.json`, `metrics.json`,
`provenance.json`, `export_check.json`, and, when applicable, `normalization.safetensors`.
This repository is released under the MIT license. Cite the model repository revision when using these weights.