--- license: mit library_name: diffusers pipeline_tag: text-to-image tags: - diffusers - adm - adm-g - image-generation - class-conditional widget: - output: url: ADM-G-512/demo.png language: - en --- # BiliSakura/ADM-diffusers Self-contained OpenAI ADM-G checkpoints for Hugging Face diffusers. **No external code repo is required** — each subfolder ships its own `pipeline.py`, component modules, and weights. This repo is derived from the development bundle in [Visual-Generative-Foundation-Model-Collection](https://github.com/Bili-Sakura/Visual-Generative-Foundation-Model-Collection), but inference only needs: - This model repo (`BiliSakura/ADM-diffusers`) - PyPI `diffusers`, `torch`, `huggingface_hub` This Hugging Face repo hosts **multiple self-contained checkpoints as subfolders**. Each subfolder includes its own `pipeline.py`, `model_index.json`, weights, and component code (`unet/`, `classifier/`, `scheduler/`). ## Available checkpoints | Subfolder | Resolution | Guidance scale | OpenAI sources | | --- | --- | ---: | --- | | [`ADM-G-256/`](ADM-G-256/) | 256×256 | 1.0 | `256x256_diffusion.pt` + `256x256_classifier.pt` | | [`ADM-G-512/`](ADM-G-512/) | 512×512 | 4.0 | `512x512_diffusion.pt` + `512x512_classifier.pt` | Both resolutions use the **class-conditional** diffusion checkpoint plus the noisy classifier (not the 256 uncond variant). ## ImageNet class labels Each variant keeps an `id2label` map directly in its own `model_index.json` (same style as DiT on the Hub). Runtime label resolution is English-only: - `pipe.id2label` — inspect id → English label correspondence - `pipe.labels` — reverse map (English synonym → id), sorted for browsing - `pipe.get_label_ids("golden retriever")` - `pipe(class_labels="golden retriever", ...)` Chinese labels are still preserved in the main source repo under `src/labels/id2label_cn.json` for reference. ## Demo ![ADM-G-512 demo](ADM-G-512/demo.png) Settings used for this demo image: `ADM-G-512`, `DDIMScheduler`, `num_inference_steps=50`, `guidance_scale=4.0`, `seed=42`, class `"golden retriever"`. ```python from pathlib import Path import torch from diffusers import DDIMScheduler, DiffusionPipeline model_dir = Path("./BiliSakura/ADM-diffusers/ADM-G-512") pipe = DiffusionPipeline.from_pretrained( str(model_dir), local_files_only=True, custom_pipeline=str(model_dir / "pipeline.py"), trust_remote_code=True, torch_dtype=torch.bfloat16, ) pipe = pipe.to("cuda") pipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config) class_id = pipe.get_label_ids("golden retriever")[0] generator = torch.Generator(device="cuda").manual_seed(42) out = pipe( class_labels=class_id, guidance_scale=4.0, num_inference_steps=50, generator=generator, ).images[0] out ``` ## Repo layout ```text BiliSakura/ADM-diffusers/ ├── README.md ├── ADM-G-256/ │ ├── pipeline.py │ ├── model_index.json │ ├── unet/ │ ├── classifier/ │ └── scheduler/ └── ADM-G-512/ ├── pipeline.py ├── model_index.json ├── demo.png ├── unet/ ├── classifier/ └── scheduler/ ```