|
|
--- |
|
|
pipeline_tag: text-to-image |
|
|
library_name: diffusers |
|
|
--- |
|
|
## Setup |
|
|
|
|
|
Install the latest version of `diffusers` |
|
|
|
|
|
```shell |
|
|
pip install git+https://github.com/huggingface/diffusers.git |
|
|
``` |
|
|
|
|
|
Login to your Hugging Face account |
|
|
|
|
|
```shell |
|
|
hf auth login |
|
|
``` |
|
|
|
|
|
## How to use |
|
|
|
|
|
The following code snippet demonstrates how to use the [Flux2](https://huggingface.co/black-forest-labs/FLUX.2-dev) modular pipeline with a remote text encoder and group offloading. It requires approximately 8GB of VRAM and 64GB of CPU RAM to generate an image. |
|
|
|
|
|
```python |
|
|
import torch |
|
|
from diffusers.modular_pipelines.flux2 import ALL_BLOCKS |
|
|
from diffusers.modular_pipelines import SequentialPipelineBlocks |
|
|
|
|
|
blocks = SequentialPipelineBlocks.from_blocks_dict(ALL_BLOCKS['remote']) |
|
|
pipe = blocks.init_pipeline("diffusers/flux2-modular") |
|
|
pipe.load_components(torch_dtype=torch.bfloat16, device_map="cpu") |
|
|
pipe.vae.to("cuda") |
|
|
pipe.transformer.enable_group_offload( |
|
|
offload_type="leaf_level", |
|
|
onload_device=torch.device("cuda"), |
|
|
offload_device=torch.device("cpu"), |
|
|
use_stream=True, |
|
|
low_cpu_mem_usage=True, |
|
|
) |
|
|
|
|
|
prompt = "a photo of a cat" |
|
|
output = pipe(prompt=prompt, num_inference_steps=28, output="images") |
|
|
output[0].save("flux2-modular.png") |
|
|
``` |