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
File size: 2,503 Bytes
eca8fd2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | ---
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")
```
|