Buckets:

hf-doc-build/doc / diffusers /main /tr /api /pipelines /bria_fibo_edit.md
mishig's picture
|
download
raw
12.6 kB
# 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](https://huggingface.co/briaai/Fibo-Edit-1.5-base) bakın. Damıtılmış bir kontrol noktası [Fibo-Edit-1.5-turbo](https://huggingface.co/briaai/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](https://huggingface.co/briaai/Fibo-Edit-1.5-base) 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:
```bash
hf auth login
```
## BriaFiboEditPipeline[[diffusers.BriaFiboEditPipeline]]
#### diffusers.BriaFiboEditPipeline[[diffusers.BriaFiboEditPipeline]]
```python
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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo_edit.py#L240)
**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__]]
```python
__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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo_edit.py#L599)
**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](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'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](https://pytorch.org/docs/stable/generated/torch.Generator.html) 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](https://pillow.readthedocs.io/en/stable/): `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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) 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:
```python
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]]
```python
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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo_edit.py#L365)
**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]]
```python
prepare_reference_latents(image: Image, num_channels_latents: int, dtype: dtype, device: device, do_patching: bool = False, reference_index: int = 1)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo_edit.py#L992)
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.