Disty0/FLUX.1-dev-qint8
Disty0
Texto a imagen
Disty0/FLUX.1-dev-qint8 es un modelo de generación de imágenes a partir de texto, cuyas características destacadas incluyen el uso de quantización INT8 utilizando Optimum Quanto y compatibilidad con pip y safetensors. El pipeline de generación de imágenes FluxPipeline soporta la licencia flux-1-dev-non-commercial-license.
Como usar
pip install diffusers optimum-quanto
import json
import torch
import diffusers
import transformers
from optimum.quanto import requantize
from safetensors.torch import load_file
from huggingface_hub import hf_hub_download
def load_quanto_transformer(repo_path):
with open(hf_hub_download(repo_path, 'transformer/quantization_map.json'), 'r') as f:
quantization_map = json.load(f)
with torch.device('meta'):
transformer = diffusers.FluxTransformer2DModel.from_config(hf_hub_download(repo_path, 'transformer/config.json')).to(torch.bfloat16)
state_dict = load_file(hf_hub_download(repo_path, 'transformer/diffusion_pytorch_model.safetensors'))
requantize(transformer, state_dict, quantization_map, device=torch.device('cuda'))
return transformer
def load_quanto_text_encoder_2(repo_path):
with open(hf_hub_download(repo_path, 'text_encoder_2/quantization_map.json'), 'r') as f:
quantization_map = json.load(f)
with open(hf_hub_download(repo_path, 'text_encoder_2/config.json')) as f:
t5_config = transformers.T5Config(**json.load(f))
with torch.device('meta'):
text_encoder_2 = transformers.T5EncoderModel(t5_config).to(torch.bfloat16)
state_dict = load_file(hf_hub_download(repo_path, 'text_encoder_2/model.safetensors'))
requantize(text_encoder_2, state_dict, quantization_map, device=torch.device('cuda'))
return text_encoder_2
pipe = diffusers.AutoPipelineForText2Image.from_pretrained('Disty0/FLUX.1-dev-qint8', transformer=None, text_encoder_2=None, torch_dtype=torch.bfloat16)
pipe.transformer = load_quanto_transformer('Disty0/FLUX.1-dev-qint8')
pipe.text_encoder_2 = load_quanto_text_encoder_2('Disty0/FLUX.1-dev-qint8')
pipe = pipe.to('cuda', dtype=torch.bfloat16)
prompt = 'Un gato sosteniendo un letrero que dice hola mundo'
image = pipe(prompt, height=1024, width=1024, guidance_scale=3.5, num_inference_steps=50, max_sequence_length=512, generator=torch.Generator('cpu').manual_seed(0)).images[0]
image.save('flux-dev.png')
Funcionalidades
- Generación de imágenes a partir de descripciones de texto
- Quantización a INT8 utilizando Optimum Quanto
- Compatibilidad con diffusers y safetensors
- Uso de un pipeline optimizado para generación de imágenes
Casos de uso
- Generación de imágenes de alta calidad a partir de descripciones textuales
- Aplicaciones creativas como arte generado por IA
- Automatización de la creación de contenido visual