|
Download README.md from Diffusion-Research-Lab/us-wildfire-size-1d-diffusion: direct link, hf CLI and curl.
- Browser
- Download file 5.73 kB
-
https://huggingface.co/Diffusion-Research-Lab/us-wildfire-size-1d-diffusion/resolve/main/README.md
- Command line
-
hf download hf://Diffusion-Research-Lab/us-wildfire-size-1d-diffusion/README.md
-
curl -L -o README.md https://huggingface.co/Diffusion-Research-Lab/us-wildfire-size-1d-diffusion/resolve/main/README.md
5.73 kB
| library_name: gendynamics | |
| license: mit | |
| tags: | |
| - diffusion | |
| - unconditional-generation | |
| # us_wildfire_size | |
| Unconditional reference models trained with gendynamics. The weights correspond to the best validation epoch. | |
| ## Dataset | |
| USDA Forest Service FPA-FOD current-edition fire occurrences. [Upstream source](https://apps.fs.usda.gov/arcx/rest/services/EDW/EDW_FireOccurrenceCurrentEdition_01/MapServer/0/query). Sample distinct 1992–2024 records with positive final fire size, retain size in acres, and randomly split 25,000/1,000/1,000,000 records. Columns: fire_size. | |
| The train/validation/test splits contain 25,000/1,000/1,000,000 samples | |
| of shape `[1]`. Normalization: Per-coordinate training mean and standard deviation; zero deviations replaced by one. The processed dataset file `us_wildfire_size.pt` has SHA-256 `956da0a080086dcf598ec633a292e619856bbb6389d0548e092f7248087a9e19`. | |
| 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 `datasets/3_us_wildfire_size_dataset.py` in the [training repository](https://github.com/Diffusion-Research-Lab/2_training_2026_tail_reference_models). 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": 128, | |
| "depth": 3, | |
| "time_dim": 64, | |
| "dropout": 0.0, | |
| "use_norm": true, | |
| "dim": 1 | |
| } | |
| } | |
| ``` | |
| | Directory | Model | Prediction target | Trainable parameters | Sampling steps | Learning rate | Epochs run / best | Val loss | Test loss | | |
| |---|---|---|---:|---:|---:|---:|---:|---:| | |
| | ddpm-v | DDPM-V | velocity | 133,505 | 128 | 0.0005 | 374 / 274 | 0.09306 | 0.0727 | | |
| | dlpm-eps | DLPM-Eps | noise | 133,505 | 128 | 0.0005 | 549 / 449 | 0.01579 | 0.03829 | | |
| | tedm-origin | t-EDM | denoised data | 133,505 | 64 | 0.0005 | 191 / 91 | 0.1577 | 0.1586 | | |
| 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": 512, | |
| "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": 100, | |
| "cosine_eta_min_ratio": 0.05, | |
| "freq_logging": 16, | |
| "stats_freq_epochs": 1, | |
| "log_grad_norm": true, | |
| "ckpt_freq_epochs": 64, | |
| "ckpt_keep_last": 4 | |
| } | |
| } | |
| ``` | |
| ### DLPM-Eps (`dlpm-eps/`) | |
| ```json | |
| { | |
| "model_parameters": { | |
| "n_steps": 128, | |
| "alpha": 1.8, | |
| "sampler": "native" | |
| }, | |
| "training": { | |
| "device": "cuda", | |
| "data_device": "cpu", | |
| "batch_size": 512, | |
| "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": 100, | |
| "cosine_eta_min_ratio": 0.05, | |
| "freq_logging": 16, | |
| "stats_freq_epochs": 1, | |
| "log_grad_norm": true, | |
| "ckpt_freq_epochs": 64, | |
| "ckpt_keep_last": 4 | |
| } | |
| } | |
| ``` | |
| ### 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": 512, | |
| "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": 100, | |
| "cosine_eta_min_ratio": 0.05, | |
| "freq_logging": 16, | |
| "stats_freq_epochs": 1, | |
| "log_grad_norm": true, | |
| "ckpt_freq_epochs": 64, | |
| "ckpt_keep_last": 4 | |
| } | |
| } | |
| ``` | |
| 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/us-wildfire-size-1d-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. | |