Buckets:

mishig's picture
|
download
raw
10.2 kB
# 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](https://huggingface.co/briaai/FIBO-VLM-prompt-to-JSON) modelini veya [FIBO-gemini-prompt-to-JSON](https://huggingface.co/briaai/FIBO-gemini-prompt-to-JSON) modelini kullanabilirsiniz.
> [!NOTE]
> 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](https://huggingface.co/briaai/FIBO) bakın.
## Kullanım
_Model kapılı (gated) olduğu için, diffusers ile kullanmadan önce [Bria Fibo Hugging Face sayfasına](https://huggingface.co/briaai/FIBO) 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:
```bash
hf auth login
```
## BriaFiboPipeline[[diffusers.BriaFiboPipeline]]
#### diffusers.BriaFiboPipeline[[diffusers.BriaFiboPipeline]]
```python
diffusers.BriaFiboPipeline(transformer: BriaFiboTransformer2DModel, scheduler: 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.py#L76)
**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.BriaFiboPipeline.__call__]]
```python
__call__(prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 30, timesteps: list = None, guidance_scale: float = 5, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 3000, do_patching = False)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo.py#L435)
**Parametreler:**
prompt (`str` veya `list[str]`) : Görsel üretimi yönlendirmek için istem veya istemler.
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 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ı*) : `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 [torch üreteci(leri)](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ı?
**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 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[[diffusers.BriaFiboPipeline.encode_prompt]]
```python
encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, guidance_scale: float = 5, negative_prompt: str | list[str] | None = None, max_sequence_length: int = 3000, lora_scale: float | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria_fibo/pipeline_bria_fibo.py#L201)
**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).

Xet Storage Details

Size:
10.2 kB
·
Xet hash:
70347c51421b43a59f5075f2768559685fc92d716a4629acc383f3150a07b794

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.