Instructions to use diffusers-modular/krea2-edit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use diffusers-modular/krea2-edit with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("diffusers-modular/krea2-edit", torch_dtype=torch.bfloat16, device_map="cuda") prompt = "Turn this cat into a dog" input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") image = pipe(image=input_image, prompt=prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Register Krea2ModularPipeline + krea2 mapping for stock-diffusers init_pipeline
Browse files
block.py
CHANGED
|
@@ -1,12 +1,28 @@
|
|
| 1 |
"""Entry point for the Krea 2 reference-image edit modular blocks (loaded via `trust_remote_code`).
|
| 2 |
|
| 3 |
-
Importing this module
|
| 4 |
-
`
|
| 5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
"""
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
from .transformer_krea2 import Krea2Transformer2DModel # noqa: F401 (registers into diffusers namespace)
|
|
|
|
| 9 |
from .modular_blocks_krea2_edit import Krea2EditBlocks
|
| 10 |
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
"""Entry point for the Krea 2 reference-image edit modular blocks (loaded via `trust_remote_code`).
|
| 2 |
|
| 3 |
+
Importing this module registers the Krea 2 classes into the `diffusers` namespace / modular mapping so that,
|
| 4 |
+
on a stock `diffusers` install (which does not ship Krea 2), component loading and `init_pipeline` resolve:
|
| 5 |
+
|
| 6 |
+
- `Krea2Transformer2DModel` — referenced as `["diffusers", "Krea2Transformer2DModel"]` in the base repo's
|
| 7 |
+
`model_index.json`;
|
| 8 |
+
- `Krea2ModularPipeline` — the model-specific pipeline class (`init_pipeline` maps `model_name="krea2"` to it;
|
| 9 |
+
without this it would fall back to the generic `ModularPipeline`, which lacks the Krea 2 properties such as
|
| 10 |
+
`requires_unconditional_embeds`, `vae_scale_factor`, `num_channels_latents`).
|
| 11 |
"""
|
| 12 |
|
| 13 |
+
import diffusers
|
| 14 |
+
from diffusers.modular_pipelines.modular_pipeline import (
|
| 15 |
+
MODULAR_PIPELINE_MAPPING,
|
| 16 |
+
_create_default_map_fn,
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
from .transformer_krea2 import Krea2Transformer2DModel # noqa: F401 (registers into diffusers namespace)
|
| 20 |
+
from .modular_pipeline import Krea2ModularPipeline
|
| 21 |
from .modular_blocks_krea2_edit import Krea2EditBlocks
|
| 22 |
|
| 23 |
|
| 24 |
+
diffusers.Krea2ModularPipeline = Krea2ModularPipeline
|
| 25 |
+
MODULAR_PIPELINE_MAPPING.setdefault("krea2", _create_default_map_fn("Krea2ModularPipeline"))
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
__all__ = ["Krea2EditBlocks", "Krea2Transformer2DModel", "Krea2ModularPipeline"]
|