--- base_model: black-forest-labs/FLUX.1-dev library_name: diffusers base_model_relation: quantized tags: - quantization --- # Visual comparison of Flux-dev model outputs using BF16 and BnB 8-bit quantization BF16
Flux-dev output with BF16: Baroque, Futurist, Noir styles BnB 4-bit
Flux-dev output with BnB 4-bit: Baroque, Futurist, Noir styles # Usage with Diffusers To use this quantized FLUX.1 [dev] checkpoint, you need to install the 🧨 diffusers and bitsandbytes library: ``` pip install -U diffusers pip install -U bitsandbytes ``` After installing the required library, you can run the following script: ```python from diffusers import FluxPipeline pipe = FluxPipeline.from_pretrained( "diffusers/FLUX.1-dev-bnb-4bit", torch_dtype=torch.bfloat16 ) pipe.to("cuda") prompt = "Baroque style, a lavish palace interior with ornate gilded ceilings, intricate tapestries, and dramatic lighting over a grand staircase." pipe_kwargs = { "prompt": prompt, "height": 1024, "width": 1024, "guidance_scale": 3.5, "num_inference_steps": 50, "max_sequence_length": 512, } image = pipe( **pipe_kwargs, generator=torch.manual_seed(0), ).images[0] image.save("flux.png") ``` # How to generate this quantized checkpoint ? This checkpoint was created with the following script using "black-forest-labs/FLUX.1-dev" checkpoint: ```python import torch from diffusers import FluxPipeline from diffusers import BitsAndBytesConfig as DiffusersBitsAndBytesConfig from diffusers.quantizers import PipelineQuantizationConfig from transformers import BitsAndBytesConfig as TransformersBitsAndBytesConfig pipeline_quant_config = PipelineQuantizationConfig( quant_mapping={ "transformer": DiffusersBitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16), "text_encoder_2": TransformersBitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16), } ) pipe = FluxPipeline.from_pretrained( "black-forest-labs/FLUX.1-dev", quantization_config=pipeline_quant_config, torch_dtype=torch.bfloat16 ) pipe.save_pretrained("FLUX.1-dev-bnb-4bit") ```