Unconditional Image Generation
Diffusers
Safetensors
English
self-flow
image-generation
class-conditional
imagenet
flow-matching
Instructions to use BiliSakura/Self-Flow-diffusers with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use BiliSakura/Self-Flow-diffusers with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("BiliSakura/Self-Flow-diffusers", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
| library_name: diffusers | |
| pipeline_tag: unconditional-image-generation | |
| tags: | |
| - diffusers | |
| - self-flow | |
| - image-generation | |
| - class-conditional | |
| - imagenet | |
| - flow-matching | |
| license: apache-2.0 | |
| inference: true | |
| widget: | |
| - output: | |
| url: Self-Flow-XL-2-256/demo.png | |
| language: | |
| - en | |
| # Self-Flow-diffusers | |
| Diffusers-ready checkpoints for **Self-Flow** (Self-Supervised Flow Matching), converted from the [official Self-Flow release](https://github.com/black-forest-labs/Self-Flow) for local/offline use. | |
| This root folder is a model collection that contains: | |
| - `Self-Flow-XL-2-256` | |
| Each subfolder is a self-contained Diffusers model repo with: | |
| - `pipeline.py` (`SelfFlowPipeline`) | |
| - `transformer/transformer_selfflow.py` and weights | |
| - `scheduler/scheduling_flow_match_selfflow.py` (`SelfFlowFlowMatchScheduler`, SDE flow matching) | |
| - `scheduler/scheduler_config.json` | |
| - `vae/` (`stabilityai/sd-vae-ft-ema`) | |
| Each variant embeds English `id2label` in `model_index.json`, so class labels can be passed as ImageNet ids or English synonym strings. | |
| ## Demo | |
|  | |
| Class-conditional sample (ImageNet class **207**, golden retriever), `Self-Flow-XL/2` at 256×256, 250 steps, CFG 3.5, seed 42. | |
| ## Model Paths | |
| Use paths relative to this root README: | |
| | Model | Resolution | Local path | | |
| | --- | ---: | --- | | |
| | Self-Flow-XL/2 | 256×256 | `./Self-Flow-XL-2-256` | | |
| ## Recommended inference | |
| | Setting | Value | | |
| | --- | --- | | |
| | Resolution | 256×256 | | |
| | Sampler | Self-Flow SDE flow matching | | |
| | Steps | 250 | | |
| | CFG scale | 3.5 | | |
| | Guidance interval | `(0.0, 0.7)` when CFG > 1 | | |
| | Dtype | `bfloat16` (recommended on Ampere+) | | |
| | VAE | `stabilityai/sd-vae-ft-ema` | | |
| ## Inference Demo (Diffusers) | |
| ```python | |
| from pathlib import Path | |
| import torch | |
| from diffusers import DiffusionPipeline | |
| model_dir = Path("./Self-Flow-XL-2-256").resolve() | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| 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.to(device) | |
| generator = torch.Generator(device=device).manual_seed(42) | |
| print(pipe.id2label[207]) | |
| print(pipe.get_label_ids("golden retriever")) # [207] | |
| image = pipe( | |
| class_labels="golden retriever", | |
| num_inference_steps=250, | |
| guidance_scale=3.5, | |
| generator=generator, | |
| ).images[0] | |
| image.save("self_flow_xl_256_demo.png") | |
| ``` | |