Diffusers documentation

Bria Fibo

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 Fibo

Metinden görüntüye modeller hayal gücünde ustalaştı - ama kontrolde değil. FIBO bunu değiştiriyor.

FIBO, 1.000+ kelimeye kadar uzanan yapılandırılmış JSON açıklamaları üzerinde eğitilmiş olup aydınlatma, kompozisyon, renk ve kamera ayarları gibi farklı görsel parametreleri anlama ve kontrol etme amacıyla tasarlanmıştır; bu sayede hassas ve tekrarlanabilir çıktılar elde etmeyi mümkün kılar.

Sadece 8 milyar parametreye sahip olan FIBO, yeni bir düzeyde görüntü kalitesi, istem uyumu ve profesyonel kontrol sağlar.

FIBO yalnızca yapılandırılmış bir istem üzerinde eğitilmiştir ve serbest biçimli metin istemleriyle çalışmaz. Serbest biçimli metin isteminizi yapılandırılmış bir JSON istemine dönüştürmek için FIBO-VLM-prompt-to-JSON modelini veya FIBO-gemini-prompt-to-JSON modelini kullanabilirsiniz.

FIBO ile serbest biçimli metin istemlerini doğrudan kullanmaktan kaçının çünkü bu, en iyi sonuçları üretmez.

Daha fazla bilgi için Bria Fibo Hugging Face sayfasına bakın.

Kullanım

Model kapılı (gated) olduğu için, diffusers ile kullanmadan önce Bria Fibo Hugging Face sayfasına gidip formu doldurmanız ve kapıyı kabul etmeniz gerekir. Sayfaya erişebildikten 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

BriaFiboPipeline

sınıf diffusers.BriaFiboPipeline

< >

( transformer: BriaFiboTransformer2DModelscheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulersvae: AutoencoderKLWantext_encoder: SmolLM3ForCausalLMtokenizer: AutoTokenizer )

Parametreler

  • transformer (BriaFiboTransformer2DModel) — 2D difüzyon modellemesi için transformer modeli.
  • scheduler (FlowMatchEulerDiscreteScheduler veya KarrasDiffusionSchedulers) — Kodlanmış latentlerin gürültüsünü almak için transformer ile kullanılacak zamanlayıcı.
  • vae (AutoencoderKLWan) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için Varyasyonel Oto-Kodlayıcı.
  • text_encoder (SmolLM3ForCausalLM) — Girdi istemlerini işlemek için metin kodlayıcı.
  • tokenizer (AutoTokenizer) — text_encoder için girdi metin istemlerini işlemek için kullanılan Tokenizer.

__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] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truejoint_attention_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 = 3000do_patching = False ) → ~pipelines.flux.BriaFiboPipelineOutput or tuple

Parametreler

  • prompt (str veya list[str]) — Görsel üretimi yönlendirmek için istem veya istemler.
  • 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ı destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları. set_timesteps yönteminde. Tanımlanmamışsa, num_inference_steps geçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır.
  • guidance_scale (float, isteğe bağlı, varsayılan 5.0) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği. guidance_scale, Imagen Paper'daki 2. denklemindeki w olarak tanımlanır. Yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, prompt ile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur.
  • negative_prompt (str veya list[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. 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) — Her istem için oluşturulacak görsel sayısı.
  • generator (torch.Generator veya list[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için bir veya torch üreteci listesi.
  • latents (torch.FloatTensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görsel üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ince ayar yapmak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklemeye dayalı bir latents tensörü oluşturulur.
  • output_type (str, isteğe bağlı, varsayılan "pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL: PIL.Image.Image veya np.array.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput döndürülüp döndürülmemesi.
  • joint_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çerir.
  • callback_on_step_end_tensor_inputs (List, optional) — The list of tensor inputs for the callback_on_step_end function. The tensors specified in the list will be passed as callback_kwargs argument. You will only be able to include variables listed in the ._callback_tensor_inputs attribute of your pipeline class.
  • max_sequence_length (int, varsayılan 3000) — prompt ile kullanılacak maksimum dizi uzunluğu.
  • do_patching (bool, isteğe bağlı, varsayılan False) — Patching kullanılacak mı.

Dönüş değeri

~pipelines.flux.BriaFiboPipelineOutput veya tuple

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

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

Örnek:

import torch
from diffusers import BriaFiboPipeline
from diffusers.modular_pipelines import ModularPipeline

torch.set_grad_enabled(False)
vlm_pipe = ModularPipeline.from_pretrained("briaai/FIBO-VLM-prompt-to-JSON", trust_remote_code=True)

pipe = BriaFiboPipeline.from_pretrained(
    "briaai/FIBO",
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()

with torch.inference_mode():
    # 1. Create a prompt to generate an initial image
    output = vlm_pipe(prompt="a beautiful dog")
    json_prompt_generate = output.values["json_prompt"]

    # Generate the image from the structured json prompt
    results_generate = pipe(prompt=json_prompt_generate, num_inference_steps=50, guidance_scale=5)
    results_generate.images[0].save("image_generate.png")

encode_prompt

< >

( prompt: str | list[str]device: typing.Optional[torch.device] = Nonenum_images_per_prompt: int = 1guidance_scale: float = 5negative_prompt: str | list[str] | None = Nonemax_sequence_length: int = 3000lora_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ı
  • guidance_scale (float) — Sınıflandırıcı serbest yönlendirmesi için yönlendirme ölçeği.
  • negative_prompt (str veya list[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Yönlendirme kullanılmadığında yok sayılır (yani guidance_scale 1'den küçükse yok sayılır).
Update on GitHub