Instructions to use eramth/flux-kontext-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use eramth/flux-kontext-4bit 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("eramth/flux-kontext-4bit", 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
| library_name: diffusers | |
| license: other | |
| license_name: flux-1-dev-non-commercial-license | |
| license_link: https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md | |
| base_model: | |
| - black-forest-labs/FLUX.1-Kontext-dev | |
| pipeline_tag: image-to-image | |
| The Flux Kontext model with **NF4** transformer and T5 encoder. | |
| # Usage | |
| ``` | |
| pip install bitsandbytes | |
| ``` | |
| ```python | |
| from diffusers import FluxKontextPipeline | |
| import torch | |
| pipeline = FluxKontextPipeline.from_pretrained("eramth/flux-kontext-4bit",torch_dtype=torch.float16).to("cuda") | |
| # This allows you to generate higher resolution images without much extra VRAM usage. | |
| pipeline.vae.enable_tiling() | |
| ``` | |
| # You can create this quantization model yourself by | |
| ```python | |
| from diffusers import BitsAndBytesConfig as DiffusersBitsAndBytesConfig | |
| from transformers import BitsAndBytesConfig as TransformersBitsAndBytesConfig | |
| from diffusers import FluxKontextPipeline,FluxTransformer2DModel | |
| from transformers import T5EncoderModel | |
| import torch | |
| token = "" | |
| repo_id = "" | |
| quant_config = TransformersBitsAndBytesConfig(load_in_4bit=True,bnb_4bit_compute_dtype=torch.float16,bnb_4bit_quant_type="nf4") | |
| text_encoder_2_4bit = T5EncoderModel.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", | |
| subfolder="text_encoder_2", | |
| quantization_config=quant_config, | |
| torch_dtype=torch.float16, | |
| token=token | |
| ) | |
| quant_config = DiffusersBitsAndBytesConfig(load_in_4bit=True,bnb_4bit_compute_dtype=torch.float16,bnb_4bit_quant_type="nf4") | |
| transformer_4bit = FluxTransformer2DModel.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", | |
| subfolder="transformer", | |
| quantization_config=quant_config, | |
| torch_dtype=torch.float16, | |
| token=token | |
| ) | |
| pipe = FluxKontextPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-Kontext-dev", | |
| transformer=transformer_4bit, | |
| text_encoder_2=text_encoder_2_4bit, | |
| torch_dtype=torch.float16, | |
| token=token | |
| ) | |
| pipe.push_to_hub(repo_id,token=token) | |
| ``` |