Diffusers documentation

Bria Fibo Düzenle

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 Düzenle

Fibo Edit, JSON girdileriyle eşleştirilen kaynak görüntüler üzerinde çalışarak deterministik ve tekrarlanabilir düzenleme iş akışlarını mümkün kılan, yapılandırılmış kontrolün yeni bir paradigmasını tanıtan 8B parametreli görüntüden görüntüye bir modeldir. İnce ayarlı hassasiyet için yerel maskeleme özelliğine sahip olan model, basit istem tabanlı difüzyonun ötesine geçerek üretim ortamlarına optimize edilmiş, açık ve yorumlanabilir bir kontrol sunar. Hafif mimarisi derin özelleştirme için tasarlanmıştır; bu sayede araştırmacılara, üst düzey estetik kalite sunarken alanına özgü görevler için özel “Edit” modelleri oluşturma imkânı tanır.

Daha fazla bilgi için Bria Fibo Edit Hugging Face sayfasına bakın. Damıtılmış bir kontrol noktası Fibo-Edit-1.5-turbo adresinde mevcuttur.

Kullanım

Model kapılı (gated) olduğu için, diffusers ile kullanmadan önce Bria Fibo Edit 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

BriaFiboEditPipeline

sınıf diffusers.BriaFiboEditPipeline

< >

( transformer: BriaFiboTransformer2DModelscheduler: typing.Union[diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler, diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers]vae: 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: typing.Union[str, typing.List[str]] = Noneimage: typing.Union[PIL.Image.Image, typing.List[PIL.Image.Image], NoneType] = Nonemask: typing.Union[torch.FloatTensor, PIL.Image.Image, typing.List[PIL.Image.Image], typing.List[torch.FloatTensor], numpy.ndarray, typing.List[numpy.ndarray], NoneType] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 30timesteps: typing.List[int] = Noneseed: int | None = Noneguidance_scale: float = 5negative_prompt: typing.Union[str, typing.List[str], NoneType] = Nonenum_images_per_prompt: typing.Optional[int] = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.FloatTensor] = Noneoutput_type: str = 'pil'return_dict: bool = Truejoint_attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int, typing.Dict], NoneType]] = Nonecallback_on_step_end_tensor_inputs: typing.List[str] = ['latents']max_sequence_length: int = 3000do_patching = False_auto_resize: bool = True ) → ~pipelines.flux.BriaFiboPipelineOutput or tuple

Parametreler

  • prompt (str veya List[str]) — Görsel üretimi yönlendirmek için istem veya istemler.
  • image (PIL.Image.Image veya List[PIL.Image.Image], isteğe bağlı) — Görsel üretimini yönlendirmek için bir veya daha fazla referans görsel. Bir liste, birden fazla referans olarak yorumlanır (bir parti değil): her referans kendi en-boy oranında VAE kodlanır ve kendi RoPE zaman düzlemine 1, 2, … yerleştirilir. Tanımlanmazsa, pipeline sıfırdan bir görsel üretir.
  • mask (PipelineMaskInput, isteğe bağlı) — Düzenlenecek image bölgesini tanımlayan isteğe bağlı maske. Maske tarafından kaplanan pikseller yeniden oluşturulurken görüntünün geri kalanı korunur.
  • 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 30) — 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.
  • seed (int, isteğe bağlı) — Üretimi deterministik hale getirmek için kullanılan bir tohum.
  • 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ı.
  • _auto_resize (bool, isteğe bağlı, varsayılan True) — Varsayılan çıktı çözünürlüğünün (ilk referans görüntüsünden alınan) tercih edilen çözünürlüklere uyumlu hale getirilip getirilmeyeceğini belirtir.

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 PIL import Image

from diffusers import BriaFiboEditPipeline
from diffusers.modular_pipelines import ModularPipelineBlocks

# This prompt-to-JSON block calls Gemini and needs GEMINI_API_KEY in the environment.
vlm_pipe = ModularPipelineBlocks.from_pretrained("briaai/FIBO-edit-gemini-prompt-to-JSON", trust_remote_code=True)
vlm_pipe = vlm_pipe.init_pipeline()

pipe = BriaFiboEditPipeline.from_pretrained(
    "briaai/Fibo-Edit-1.5-base",
    torch_dtype=torch.bfloat16,
)
pipe.to("cuda")

image = Image.open("owl.png")
json_prompt = vlm_pipe(image=image, prompt="Make the owl into a cat").values["json_prompt"]

result = pipe(prompt=json_prompt, image=image, num_inference_steps=30, guidance_scale=5)

# Multiple reference images: pass a list. Each reference conditions the edit at its
# own aspect ratio; the output resolution follows the first reference.
owl, forest = Image.open("owl.png"), Image.open("forest.png")
json_prompt = vlm_pipe(
    image=[owl, forest], prompt="Place the owl from the first image in the forest from the second image"
).values["json_prompt"]
result = pipe(
    prompt=json_prompt,
    image=[owl, forest],
    num_inference_steps=30,
    guidance_scale=5,
)

# The distilled Turbo checkpoint edits in 4 steps without classifier-free guidance.
pipe = BriaFiboEditPipeline.from_pretrained("briaai/Fibo-Edit-1.5-turbo", torch_dtype=torch.bfloat16)
pipe.to("cuda")
result = pipe(prompt=json_prompt, image=[owl, forest], num_inference_steps=4, guidance_scale=1)

encode_prompt

< >

( prompt: typing.Union[str, typing.List[str]]device: typing.Optional[torch.device] = Nonenum_images_per_prompt: int = 1guidance_scale: float = 5negative_prompt: typing.Union[str, typing.List[str], NoneType] = Nonemax_sequence_length: int = 3000lora_scale: bool | 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).

prepare_reference_latents

< >

( image: Imagenum_channels_latents: intdtype: dtypedevice: devicedo_patching: bool = Falsereference_index: int = 1 )

Bir PIL referansını kendi boyutunda VAE ile kodlayın ve bir düzenleme bağlamı jetonu akışı olarak paketleyin.

Update on GitHub