Buckets:
Bria 3.2
Bria 3.2 é o modelo de texto para imagem comercialmente pronto de próxima geração. Com apenas 4 bilhões de parâmetros, ele oferece estética e renderização de texto excepcionais, sendo avaliado para fornecer resultados equivalentes aos de modelos open-source líderes e superando outros modelos licenciados. Além de ser construído inteiramente com dados licenciados, o 3.2 oferece várias vantagens para uso empresarial e comercial:
- Cálculo eficiente - o modelo é 3X menor que os modelos equivalentes no mercado (4B parâmetros vs 12B parâmetros em outros modelos de código aberto)
- Consistência de Arquitetura: Mesma arquitetura que a 3.1 — ideal para usuários que desejam fazer o upgrade sem interrupções.
- Aceleração do fine-tuning: fine-tuning 2x mais rápido em L40S e A100.
Os checkpoints originais do modelo Bria 3.2 foram publicados em briaai/BRIA-3.2, que não está mais disponível no Hub. O repositório do Github para o Bria 3.2 pode ser encontrado aqui.
Se você deseja saber mais sobre a plataforma Bria e obter acesso gratuito ao traril, visite bria.ai.
Uso
Use o comando abaixo para fazer login:
hf auth login
BriaPipeline[[diffusers.BriaPipeline]]
diffusers.BriaPipeline[[diffusers.BriaPipeline]]
diffusers.BriaPipeline(transformer: BriaTransformer2DModel, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers, vae: AutoencoderKL, text_encoder: T5EncoderModel, tokenizer: T5Tokenizer, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None)
Parâmetros:
transformer (BriaTransformer2DModel) : Arquitetura de Transformer condicional (MMDiT) para desruidar os latentes da imagem codificada.
scheduler (FlowMatchEulerDiscreteScheduler) : Um scheduler a ser usado em combinação com transformer para desruidar os latentes da imagem codificada.
vae (AutoencoderKL) : Modelo de Variational Auto-Encoder (VAE) para codificar e decodificar imagens para e a partir de representações latentes.
text_encoder (T5EncoderModel) : Codificador de texto congelado. A Bria usa T5, especificamente a variante t5-v1_1-xxl.
tokenizer (T5TokenizerFast) : Tokenizer da classe T5Tokenizer.
Baseado no FluxPipeline com várias alterações:
- nos embeddings agregados
- Usamos zero padding para prompts
- Sem embedding de orientação, pois esta não é uma versão destilada
call[[diffusers.BriaPipeline.call]]
__call__(prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 30, timesteps: list[int] = None, guidance_scale: float = 5, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 128, clip_value: None | float = None, normalize: bool = False)
Parâmetros:
prompt (str ou list[str], opcional) : O prompt ou os prompts para orientar a geração da imagem. Se não definido, é necessário passar prompt_embeds em vez disso.
height (int, opcional, padrão é self.unet.config.sample_size * self.vae_scale_factor) : A altura em pixels da imagem gerada. Isso é definido como 1024 por padrão para os melhores resultados.
width (int, opcional, padrão é self.unet.config.sample_size * self.vae_scale_factor) : A largura em pixels da imagem gerada. Isso é definido como 1024 por padrão para os melhores resultados.
num_inference_steps (int, opcional, padrão 50) : O número de etapas de desruidamento. Mais etapas de desruidamento geralmente resultam em uma imagem de maior qualidade, em detrimento de uma inferência mais lenta.
timesteps (list[int], opcional) : Passos de tempo personalizados para usar no processo de remoção de ruído com agendadores que suportam um argumento timesteps em seu método set_timesteps. Se não definido, o comportamento padrão quando num_inference_steps é passado será usado. Deve estar em ordem decrescente.
guidance_scale (float, opcional, padrão 5.0) --
Retorna: ~pipelines.bria.BriaPipelineOutput ou tuple
~pipelines.bria.BriaPipelineOutput se return_dict for True, caso contrário, uma tuple. Ao retornar uma tupla, o primeiro elemento é uma lista com as imagens geradas.
Função invocada ao chamar o pipeline para geração.
<<<<<<< HEAD Escala de orientação definida em Classifier-Free Diffusion Guidance. guidance_scale é definido como w da equação 2. de Imagen Paper. A escala de orientação é ativada ao definir guidance_scale > 1. Uma escala de orientação maior incentiva a geração de imagens que estão intimamente ligadas ao texto prompt, geralmente à custa de uma menor qualidade da imagem. negative_prompt (str ou list[str], *opcional*): ======= Escala de orientação definida em Classifier-Free Diffusion Guidance. guidance_scale é definido como w da equação 2. de Imagen Paper. A escala de orientação é ativada ao definir guidance_scale > 1. Uma escala de orientação maior incentiva a geração de imagens que estão intimamente ligadas ao texto prompt, geralmente à custa de uma menor qualidade da imagem. negative_prompt (str ou list[str], opcional):
main O prompt ou prompts que não devem orientar a geração da imagem. Se não definido, é necessário passar
negative_prompt_embedsem vez disso. Ignorado quando não se usa orientação (ou seja, ignorado seguidance_scalefor menor que1). num_images_per_prompt (int, opcional, padrão 1): O número de imagens a serem geradas por prompt. generator (torch.Generatoroulist[torch.Generator], opcional): Um ou uma lista de geradores do torch para tornar a geração determinística. latents (torch.FloatTensor, opcional): Latentes ruidosos pré-gerados, amostrados de uma distribuição gaussiana, a serem usados como entradas para a geração de imagem. Pode ser usado para ajustar a mesma geração com diferentes prompts. Se não fornecido, um tensor de latentes será gerado por amostragem usando ogeneratoraleatório fornecido. prompt_embeds (torch.FloatTensor, opcional): Embeddings de texto pré-gerados. Pode ser usado para ajustar facilmente as entradas de texto, por exemplo, ponderação de prompt. Se não fornecido, os embeddings de texto serão gerados a partir do argumento de entradaprompt. negative_prompt_embeds (torch.FloatTensor, opcional): Embeddings de texto negativos pré-gerados. Pode ser usado para ajustar facilmente as entradas de texto, por exemplo, ponderação de prompt. Se não fornecido, negative_prompt_embeds será gerado a partir do argumento de entradanegative_prompt. output_type (str, opcional, padrão"pil"): O formato de saída da imagem gerada. Escolha entre PIL:PIL.Image.Imageounp.array. return_dict (bool, opcional, padrãoTrue): Se deve ou não retornar um~pipelines.bria.BriaPipelineOutputem vez de uma tupla simples. attention_kwargs (dict, opcional): Um dicionário de kwargs que, se especificado, é passado para oAttentionProcessorconforme definido emself.processorem diffusers.models.attention_processor. callback_on_step_end (Callable, opcional): Uma função que é chamada no final de cada etapa de remoção de ruído durante a inferência. A função é chamada com os seguintes argumentos:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargsincluirá uma lista de todos os tensors especificados porcallback_on_step_end_tensor_inputs. callback_on_step_end_tensor_inputs (list, opcional): A lista de entradas de tensor para a funçãocallback_on_step_end. Os tensors especificados na lista serão passados como argumentocallback_kwargs. Você só poderá incluir variáveis listadas no atributo._callback_tensor_inputsda sua classe de pipeline. max_sequence_length (intpadrão 256): O comprimento máximo da sequência a ser usado com oprompt. clip_value (float, opcional): Se definido, o ruído previsto é limitado ao intervalo[-clip_value, clip_value]em cada etapa de remoção de ruído. normalize (bool, opcional, padrãoFalse): Se deve ou não normalizar o ruído previsto em cada etapa de remoção de ruído.
Exemplos:
>>> import torch
>>> from diffusers import BriaPipeline
>>> pipe = BriaPipeline.from_pretrained("briaai/BRIA-3.2", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
# BRIA's T5 text encoder is sensitive to precision. We need to cast it to bfloat16 and keep the final layer in float32.
>>> pipe.text_encoder = pipe.text_encoder.to(dtype=torch.bfloat16)
>>> for block in pipe.text_encoder.encoder.block:
... block.layer[-1].DenseReluDense.wo.to(dtype=torch.float32)
# BRIA's VAE is not supported in mixed precision, so we use float32.
>>> if pipe.vae.config.shift_factor == 0:
... pipe.vae.to(dtype=torch.float32)
>>> prompt = "Photorealistic food photography of a stack of fluffy pancakes on a white plate, with maple syrup being poured over them. On top of the pancakes are the words 'BRIA 3.2' in bold, yellow, 3D letters. The background is dark and out of focus."
>>> image = pipe(prompt).images[0]
>>> image.save("bria.png")
encode_prompt[[diffusers.BriaPipeline.encode_prompt]]
encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, do_classifier_free_guidance: bool = True, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 128, lora_scale: float | None = None)
Parâmetros:
prompt (str ou list[str], opcional) : prompt a ser codificado
device : (torch.device): dispositivo torch
num_images_per_prompt (int) : número de imagens que devem ser geradas por prompt
do_classifier_free_guidance (bool) : se deve ou não usar classifier free guidance
negative_prompt (str ou list[str], opcional) : O prompt ou os prompts que não devem orientar a geração da imagem. Se não definido, é necessário passar negative_prompt_embeds em vez disso. Ignorado quando não se usa orientação (ou seja, ignorado se guidance_scale for menor que 1).
prompt_embeds (torch.FloatTensor, opcional) : Emojis de texto pré-gerados. Pode ser usado para ajustar facilmente as entradas de texto, por exemplo, ponderação de prompts. Se não for fornecido, os emojis de texto serão gerados a partir do argumento de entrada prompt.
negative_prompt_embeds (torch.FloatTensor, opcional) : Embeddings de texto negativos pré-gerados. Pode ser usado para ajustar facilmente as entradas de texto, por exemplo, ponderação de prompts. Se não for fornecido, negative_prompt_embeds será gerado a partir do argumento de entrada negative_prompt.
Xet Storage Details
- Size:
- 12.8 kB
- Xet hash:
- 21467e26085398a4cc87d0c8266479a1bfb52ea9d7116a02416a650c728d96fa
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.