--- library_name: diffusers license: other license_name: flux-1-dev-non-commercial-license license_link: LICENSE.md --- ## Running Flux.1-dev under 12GBs This repository contains the mixed int8 params for the T5 and transformer of Flux.1-Dev. This is how the checkpoints were obtained: ```python import torch from diffusers import BitsAndBytesConfig, FluxTransformer2DModel from transformers import T5EncoderModel, BitsAndBytesConfig from huggingface_hub import create_repo, upload_folder import tempfile model_id = "black-forest-labs/FLUX.1-dev" config = BitsAndBytesConfig(load_in_8bit=True) transformer = FluxTransformer2DModel.from_pretrained( model_id, subfolder="transformer", quantization_config=config, torch_dtype=torch.float16 ) config = BitsAndBytesConfig(load_in_8bit=True) t5 = T5EncoderModel.from_pretrained( model_id, subfolder="text_encoder_2", quantization_config=config, torch_dtype=torch.float16 ) repo_id = create_repo("sayakpaul/flux.1-dev-int8-pkg", exist_ok=True).repo_id with tempfile.TemporaryDirectory() as tmpdirname: transformer.save_pretrained(tmpdirname) upload_folder(repo_id=repo_id, folder_path=tmpdirname, path_in_repo="transformer") with tempfile.TemporaryDirectory() as tmpdirname: t5.save_pretrained(tmpdirname) upload_folder(repo_id=repo_id, folder_path=tmpdirname, path_in_repo="text_encoder_2") ``` Respective `diffusers` PR: https://github.com/huggingface/diffusers/pull/9213/. > [!NOTE] > The checkpoints of this repository were optimized to run on a T4 notebook. More specifically, the compute datatype of the quantized checkpoints was kept to FP16. In practice, if you have a GPU card that supports BF16, you should change the compute datatype to BF16 (`bnb_4bit_compute_dtype`).