Diffusers documentation

Bria 3.2

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bria 3.2

Bria 3.2, bir sonraki nesil ticari kullanıma hazır metinden görüntüye modelidir. Sadece 4 milyar parametreye sahip olmasına rağmen istisnai estetik ve metin işleme özellikleri sunar; önde gelen açık kaynak modellerle karşılaştırıldığında benzer sonuçlar verdiği değerlendirilmiş ve diğer lisanslı modelleri geride bırakmıştır. Tamamen lisanslı veriler üzerine inşa edilmesinin yanı sıra, 3.2 kurumsal ve ticari kullanım için çeşitli avantajlar sunar:

  • Verimli Hesaplama - model, piyasadaki eşdeğer modellerden X3 kat daha küçük (diğer açık kaynak modellerde 12B parametreye karşılık 4B parametre)
  • Mimari Tutarlılığı: 3.1 ile aynı mimari—kesinti olmadan yükseltme yapmak isteyen kullanıcılar için idealdir.
  • İnce Ayar Hızlandırması: L40S ve A100 üzerinde 2 kat daha hızlı ince ayar.

Bria 3.2'nin orijinal model denetim noktaları burada bulunabilir. Bria 3.2'nin Github deposu burada bulunabilir.

Bria platformu hakkında daha fazla bilgi edinmek ve ücretsiz traril erişimi almak istiyorsanız, lütfen bria.ai adresini ziyaret edin.

Kullanım

Model kapılı (gated) olduğu için, diffusers ile kullanmadan önce Bria 3.2 Hugging Face sayfasına gidip formu doldurmanız ve kapıyı kabul etmeniz gerekir. Kabul ettikten sonra, sisteminizin kapıyı kabul ettiğinizi bilmesi için oturum açmanız gerekir.

Giriş yapmak için aşağıdaki komutu kullanın:

hf auth login

BriaPipeline

sınıf diffusers.BriaPipeline

< >

( transformer: BriaTransformer2DModelscheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulersvae: AutoencoderKLtext_encoder: T5EncoderModeltokenizer: T5Tokenizerimage_encoder: CLIPVisionModelWithProjection = Nonefeature_extractor: CLIPImageProcessorPil = None )

Parametreler

  • transformer (BriaTransformer2DModel) — Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi.
  • scheduler (FlowMatchEulerDiscreteScheduler) — Kodlanmış görüntü latentlerini gürültüden arındırmak için transformer ile birlikte kullanılacak bir zamanlayıcı.
  • vae (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
  • text_encoder (T5EncoderModel) — Donmuş metin kodlayıcı. Bria T5'i, özellikle de t5-v1_1-xxl varyantını kullanır.
  • tokenizer (T5TokenizerFast) — T5Tokenizer sınıfının sınıflandırıcısı.

Birkaç değişiklik içeren FluxPipeline tabanlı:

  • birleştirilmiş gömme yok
  • İstemler için sıfır dolgusu kullanıyoruz
  • Bu, damıtılmış bir sürüm olmadığı için yönlendirme gömme (guidance embedding) yoktur

__call__

< >

( prompt: str | list[str] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 30timesteps: list = Noneguidance_scale: float = 5negative_prompt: str | list[str] | None = Nonenum_images_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.FloatTensor] = Noneprompt_embeds: typing.Optional[torch.FloatTensor] = Nonenegative_prompt_embeds: typing.Optional[torch.FloatTensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 128clip_value: None | float = Nonenormalize: bool = False ) → ~pipelines.bria.BriaPipelineOutput or tuple

Parametreler

  • prompt (str veya list[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa, bunun yerine prompt_embeds parametresinin geçirilmesi gerekir.
  • height (int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır.
  • width (int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır.
  • num_inference_steps (int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar.
  • timesteps (list[int], isteğe bağlı) — timesteps argümanını set_timesteps yöntemlerinde destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, num_inference_steps geçirildiğinde varsayılan davranış kullanılır. Azalan sırada olmalıdır.
  • guidance_scale (float, isteğe bağlı, varsayılan 5.0) —

Dönüş değeri

~pipelines.bria.BriaPipelineOutput veya tuple

~pipelines.bria.BriaPipelineOutput return_dict True ise, aksi halde tuple. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.

Üretim için pipeline çağrıldığında tetiklenen işlev.

<<<<<<< HEAD Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi guidance scale. guidance_scale, Imagen Paper'deki 2. denklemin w parametresi olarak tanımlanır. Guidance scale, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale, prompt ile daha yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına olur.

negative_prompt ( str or list[str] , isteğe bağlı ):

Sınıflandırıcı-Ücretsiz Difüzyon Rehberliği'nde tanımlandığı gibi rehberlik ölçeği. guidance_scale, Imagen Makalesi'ndeki 2. denklemindeki w olarak tanımlanır. Rehberlik ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek rehberlik ölçeği, genellikle daha düşük görüntü kalitesi pahasına, prompt ile yakından ilişkili görüntülerin üretilmesini teşvik eder. negative_prompt (str veya list[str], isteğe bağlı):

main Görsel üretimini yönlendirmeyecek istem veya istemler. Tanımlanmazsa, bunun yerine negative_prompt_embeds geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani guidance_scale 1'den küçükse yok sayılır). num_images_per_prompt (int, isteğe bağlı, varsayılan 1): İstem başına üretilecek görsel sayısı. generator (torch.Generator veya list[torch.Generator], isteğe bağlı): Üretimi deterministik hale getirmek için bir veya torch generator(ları). latents (torch.FloatTensor, isteğe bağlı): Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden üretilmiş gürültülü latensler. Farklı istemlerle aynı üretimi ince ayar yapmak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklem alınarak bir latens tensörü oluşturulur. prompt_embeds (torch.FloatTensor, isteğe bağlı): Önceden üretilmiş metin gömme değerleri. Metin girdilerini kolayca ince ayar yapmak için kullanılabilir, ör. istem ağırlıklandırma. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur. negative_prompt_embeds (torch.FloatTensor, isteğe bağlı): Önceden üretilmiş negatif metin gömme değerleri. Metin girdilerini kolayca ince ayar yapmak için kullanılabilir, ör. istem ağırlıklandırma. Sağlanmazsa, negative_prompt_embeds negative_prompt girdi argümanından oluşturulur. output_type (str, isteğe bağlı, varsayılan "pil"): Üretilen görselin çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın. return_dict (bool, isteğe bağlı, varsayılan True): Düz bir demet yerine ~pipelines.bria.BriaPipelineOutput döndürülecek mi. attention_kwargs (dict, isteğe bağlı): Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü. callback_on_step_end (Callable, isteğe bağlı): Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs, callback_on_step_end_tensor_inputs tarafından belirtilen tüm tensörlerin listesini içerecektir. callback_on_step_end_tensor_inputs (list, isteğe bağlı): callback_on_step_end işlevi için tensör girdileri listesi. Listede belirtilen tensörler callback_kwargs argümanı olarak geçirilecektir. Yalnızca pipeline sınıfınızın ._callback_tensor_inputs özniteliğinde listelenen değişkenleri dahil edebilirsiniz. max_sequence_length (int varsayılan 256): prompt ile kullanılacak maksimum dizi uzunluğu. clip_value (float, isteğe bağlı): Ayarlanırsa, tahmin edilen gürültü her gürültü azaltma adımında [-clip_value, clip_value] aralığına kırpılır. normalize (bool, isteğe bağlı, varsayılan False): Tahmin edilen gürültünün her gürültü azaltma adımında normalize edilecek mi.

Örnekler:

>>> 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

< >

( prompt: str | list[str]device: typing.Optional[torch.device] = Nonenum_images_per_prompt: int = 1do_classifier_free_guidance: bool = Truenegative_prompt: str | list[str] | None = Noneprompt_embeds: typing.Optional[torch.FloatTensor] = Nonenegative_prompt_embeds: typing.Optional[torch.FloatTensor] = Nonemax_sequence_length: int = 128lora_scale: float | None = None )

Parametreler

  • prompt (str veya list[str], isteğe bağlı) — kodlanacak prompt
  • device — (torch.device): torch cihazı
  • num_images_per_prompt (int) — her prompt için oluşturulacak görsel sayısı
  • do_classifier_free_guidance (bool) — classifier free guidance kullanılacak mı
  • negative_prompt (str veya list[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine negative_prompt_embeds parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani guidance_scale değeri 1'den küçükse) yok sayılır.
  • prompt_embeds (torch.FloatTensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.
  • negative_prompt_embeds (torch.FloatTensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, negative_prompt girdi argümanından oluşturulur.
Update on GitHub