Buckets:
Bria Fibo Düzenle
Fibo Edit, JSON girdileriyle eşleştirilen kaynak görüntüler üzerinde çalışan ve deterministik, 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[[diffusers.BriaFiboEditPipeline]]
diffusers.BriaFiboEditPipeline[[diffusers.BriaFiboEditPipeline]]
diffusers.BriaFiboEditPipeline(transformer: BriaFiboTransformer2DModel, scheduler: typing.Union[diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler, diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers], vae: AutoencoderKLWan, text_encoder: SmolLM3ForCausalLM, tokenizer: AutoTokenizer)
Parametreler:
transformer (BriaFiboTransformer2DModel) : 2D difüzyon modellemesi için transformer modeli.
scheduler (FlowMatchEulerDiscreteScheduler veya KarrasDiffusionSchedulers) : Kodlanmış latentleri gürültüden arındırmak için transformer ile kullanılacak zamanlayıcı.
vae (AutoencoderKLWan) : Görüntüleri latent temsillere kodlamak ve latent temsillerden görüntülere çözmek için kullanılan 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şleyen tokenizer.
call[[diffusers.BriaFiboEditPipeline.call]]
__call__(prompt: typing.Union[str, typing.List[str]] = None, image: typing.Union[PIL.Image.Image, typing.List[PIL.Image.Image], NoneType] = None, mask: typing.Union[torch.FloatTensor, PIL.Image.Image, typing.List[PIL.Image.Image], typing.List[torch.FloatTensor], numpy.ndarray, typing.List[numpy.ndarray], NoneType] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 30, timesteps: typing.List[int] = None, seed: int | None = None, guidance_scale: float = 5, negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, num_images_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, output_type: str = 'pil', return_dict: bool = True, joint_attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int, typing.Dict], NoneType]] = None, callback_on_step_end_tensor_inputs: typing.List[str] = ['latents'], max_sequence_length: int = 3000, do_patching = False, _auto_resize: bool = True)
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 birden 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ı) : image üzerinde düzenlenecek bölgeyi tanımlayan isteğe bağlı maske. Maske tarafından kapsanan pikseller yeniden oluşturulurken görüntünün geri kalanı korunur.
height (int, isteğe bağlı, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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 olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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ı) : set_timesteps metodunda timesteps argümanını 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ılacaktır. Azalan sırada olmalıdır.
guidance_scale (float, isteğe bağlı, varsayılan 5.0) : Classifier-Free Diffusion Guidance'de tanımlandığı gibi yönlendirme ölçeği. guidance_scale, Imagen Paper'deki 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, 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ı) : Görsel üretimi 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 üretilecek görsel sayısı.
generator (torch.Generator veya List[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya bir torch üreteci listesi.
latents (torch.FloatTensor, isteğe bağlı) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklemeye dayalı olarak bir latens tensörü oluşturulur.
output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çı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 tuple yerine ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput döndürülecek mi?
joint_attention_kwargs (dict, isteğe bağlı) : Belirtilirse, diffusers.models.attention_processor içinde 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 sabitlenip sabitlenmeyeceğini belirtir.
Dönüş: ~pipelines.flux.BriaFiboPipelineOutput veya tuple
return_dict True ise ~pipelines.flux.BriaFiboPipelineOutput, 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[[diffusers.BriaFiboEditPipeline.encode_prompt]]
encode_prompt(prompt: typing.Union[str, typing.List[str]], device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, guidance_scale: float = 5, negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, max_sequence_length: int = 3000, lora_scale: bool | None = None)
Parametreler:
prompt (str veya List[str], isteğe bağlı) : kodlanacak istem
device : (torch.device): torch cihazı
num_images_per_prompt (int) : her istem 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 üretimi 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[[diffusers.BriaFiboEditPipeline.prepare_reference_latents]]
prepare_reference_latents(image: Image, num_channels_latents: int, dtype: dtype, device: device, do_patching: bool = False, reference_index: int = 1)
Bir PIL referansını kendi boyutunda VAE ile kodlayın ve bir düzenleme bağlamı jetonu akışı olarak paketleyin.
Xet Storage Details
- Size:
- 12.6 kB
- Xet hash:
- dafd811a087b9f49a7d2990d1d7c8a52cc42ed82d586a48282f437691a0c6ae8
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.