Buckets:

mishig's picture
|
download
raw
33.5 kB
# Z-Image
[Z-Image](https://huggingface.co/papers/2511.22699), 6B parametreli güçlü ve son derece verimli bir görüntü oluşturma modelidir. Şu anda yalnızca bir model mevcut olup iki model daha yayınlanacak:
|Model|Hugging Face|
|---|---|
|Z-Image-Turbo|https://huggingface.co/Tongyi-MAI/Z-Image-Turbo|
## Z-Image-Turbo
Z-Image-Turbo, yalnızca 8 NFE (Number of Function Evaluations) ile önde gelen rakipleriyle eşleşen veya onları aşan, Z-Image'ın damıtılmış (distilled) bir versiyonudur. Kurumsal düzeydeki H800 GPU'larında saniyeden kısa çıkarım gecikmesi sunar ve 16G VRAM'li tüketici cihazlarına rahatlıkla sığar. Foto-gerçekçi görüntü üretimi, iki dilli metin işleme (İngilizce & Çince) ve sağlam talimat uyumu konularında üstün performans gösterir.
## Görselden görseli
Mevcut bir görüntüyü metin komutuna dayalı olarak dönüştürmek için [ZImageImg2ImgPipeline](/docs/diffusers/main/tr/api/pipelines/z_image#diffusers.ZImageImg2ImgPipeline) kullanın.
```python
import torch
from diffusers import ZImageImg2ImgPipeline
from diffusers.utils import load_image
pipe = ZImageImg2ImgPipeline.from_pretrained("Tongyi-MAI/Z-Image-Turbo", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
init_image = load_image(url).resize((1024, 1024))
prompt = "A fantasy landscape with mountains and a river, detailed, vibrant colors"
image = pipe(
prompt,
image=init_image,
strength=0.6,
num_inference_steps=8,
guidance_scale=0.0,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("zimage_img2img.png")
```
## Inpainting
Bir metin komutu ve maskeye dayanarak bir görüntünün belirli bölgelerini doldurmak için [ZImageInpaintPipeline](/docs/diffusers/main/tr/api/pipelines/z_image#diffusers.ZImageInpaintPipeline) kullanın.
```python
import torch
import numpy as np
from PIL import Image
from diffusers import ZImageInpaintPipeline
from diffusers.utils import load_image
pipe = ZImageInpaintPipeline.from_pretrained("Tongyi-MAI/Z-Image-Turbo", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
init_image = load_image(url).resize((1024, 1024))
# Create a mask (white = inpaint, black = preserve)
mask = np.zeros((1024, 1024), dtype=np.uint8)
mask[256:768, 256:768] = 255 # Inpaint center region
mask_image = Image.fromarray(mask)
prompt = "A beautiful lake with mountains in the background"
image = pipe(
prompt,
image=init_image,
mask_image=mask_image,
strength=1.0,
num_inference_steps=8,
guidance_scale=0.0,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("zimage_inpaint.png")
```
## ZImagePipeline[[diffusers.ZImagePipeline]]
#### diffusers.ZImagePipeline[[diffusers.ZImagePipeline]]
```python
diffusers.ZImagePipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: PreTrainedModel, tokenizer: AutoTokenizer, transformer: ZImageTransformer2DModel)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image.py#L141)
#### __call__[[diffusers.ZImagePipeline.__call__]]
```python
__call__(prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 5.0, cfg_normalization: bool = False, cfg_truncation: float = 1.0, 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, prompt_embeds: list[torch.FloatTensor] | None = None, negative_prompt_embeds: list[torch.FloatTensor] | None = 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 = 512)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image.py#L297)
**Parametreler:**
prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir.
height (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden yüksekliği.
width (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden genişliği.
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.
sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır.
guidance_scale (`float`, *isteğe bağlı*, varsayılan 5.0) : [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf)'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.
cfg_normalization (`bool`, *isteğe bağlı*, varsayılan olarak False) : Yapılandırma normalizasyonunun uygulanıp uygulanmayacağı.
cfg_truncation (`float`, *isteğe bağlı*, varsayılan 1.0) : Yapılandırma için kesme değeri.
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `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ı bir latens tensörü oluşturulur.
prompt_embeds (`list[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur.
negative_prompt_embeds (`list[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından 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.ZImagePipelineOutput` döndürülüp döndürülmediğini belirtir.
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`, *isteğe bağlı*, varsayılan 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu.
**Dönüş:** `ZImagePipelineOutput` veya `tuple`
`return_dict` True ise `ZImagePipelineOutput`, aksi halde bir `tuple`. Bir tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
```py
>>> import torch
>>> from diffusers import ZImagePipeline
>>> pipe = ZImagePipeline.from_pretrained("Z-a-o/Z-Image-Turbo", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> # Optionally, set the attention backend to flash-attn 2 or 3, default is SDPA in PyTorch.
>>> # (1) Use flash attention 2
>>> # pipe.transformer.set_attention_backend("flash")
>>> # (2) Use flash attention 3
>>> # pipe.transformer.set_attention_backend("_flash_3")
>>> prompt = "一幅为名为“造相「Z-IMAGE-TURBO」”的项目设计的创意海报。画面巧妙地将文字概念视觉化:一辆复古蒸汽小火车化身为巨大的拉链头,正拉开厚厚的冬日积雪,展露出一个生机盎然的春天。"
>>> image = pipe(
... prompt,
... height=1024,
... width=1024,
... num_inference_steps=8,
... guidance_scale=0.0,
... generator=torch.Generator("cuda").manual_seed(42),
... ).images[0]
>>> image.save("zimage.png")
```
## ZImageImg2ImgPipeline[[diffusers.ZImageImg2ImgPipeline]]
#### diffusers.ZImageImg2ImgPipeline[[diffusers.ZImageImg2ImgPipeline]]
```python
diffusers.ZImageImg2ImgPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: PreTrainedModel, tokenizer: AutoTokenizer, transformer: ZImageTransformer2DModel)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_img2img.py#L154)
**Parametreler:**
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı.
vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
text_encoder (`PreTrainedModel`) : Metin istemlerini kodlamak için bir metin kodlayıcı modeli.
tokenizer (`AutoTokenizer`) : Metin istemlerini (prompt) belirteçlere (token) ayırmak için kullanılan bir belirteçleyici (tokenizer).
transformer ([ZImageTransformer2DModel](/docs/diffusers/main/tr/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan bir ZImage transformer modeli.
Görselden görsel üretimi için ZImage hattı.
#### __call__[[diffusers.ZImageImg2ImgPipeline.__call__]]
```python
__call__(prompt: str | list[str] = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, strength: float = 0.6, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 5.0, cfg_normalization: bool = False, cfg_truncation: float = 1.0, 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, prompt_embeds: list[torch.FloatTensor] | None = None, negative_prompt_embeds: list[torch.FloatTensor] | None = 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 = 512)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_img2img.py#L369)
**Parametreler:**
prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir.
image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` veya `list[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır.
strength (`float`, *opsiyonel*, varsayılan 0.6) : Referans `image`'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, `image`'ı fiilen yok sayar.
height (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden yüksekliği. Verilmezse, girdi görüntüsünün yüksekliği kullanılır.
width (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden genişliği. Verilmezse, girdi görüntüsünün genişliği kullanılı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.
sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır.
guidance_scale (`float`, *isteğe bağlı*, varsayılan 5.0) : [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf)'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.
cfg_normalization (`bool`, *isteğe bağlı*, varsayılan olarak False) : Yapılandırma normalizasyonunun uygulanıp uygulanmayacağı.
cfg_truncation (`float`, *isteğe bağlı*, varsayılan 1.0) : Yapılandırma için kesme değeri.
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `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ı bir latens tensörü oluşturulur.
prompt_embeds (`list[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur.
negative_prompt_embeds (`list[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından 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.ZImagePipelineOutput` döndürülüp döndürülmediğini belirtir.
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`, *isteğe bağlı*, varsayılan 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu.
**Dönüş:** `ZImagePipelineOutput` veya `tuple`
`return_dict` True ise `ZImagePipelineOutput`, aksi halde bir `tuple`. Bir tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.
Görselden görsel üretimi için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
```py
>>> import torch
>>> from diffusers import ZImageImg2ImgPipeline
>>> from diffusers.utils import load_image
>>> pipe = ZImageImg2ImgPipeline.from_pretrained("Z-a-o/Z-Image-Turbo", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
>>> init_image = load_image(url).resize((1024, 1024))
>>> prompt = "A fantasy landscape with mountains and a river, detailed, vibrant colors"
>>> image = pipe(
... prompt,
... image=init_image,
... strength=0.6,
... num_inference_steps=8,
... guidance_scale=0.0,
... generator=torch.Generator("cuda").manual_seed(42),
... ).images[0]
>>> image.save("zimage_img2img.png")
```
## ZImageInpaintPipeline[[diffusers.ZImageInpaintPipeline]]
#### diffusers.ZImageInpaintPipeline[[diffusers.ZImageInpaintPipeline]]
```python
diffusers.ZImageInpaintPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: PreTrainedModel, tokenizer: AutoTokenizer, transformer: ZImageTransformer2DModel)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_inpaint.py#L170)
**Parametreler:**
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı.
vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
text_encoder (`PreTrainedModel`) : Metin istemlerini kodlamak için bir metin kodlayıcı modeli.
tokenizer (`AutoTokenizer`) : Metin istemlerini (prompt) belirteçlere (token) ayırmak için kullanılan bir belirteçleyici (tokenizer).
transformer ([ZImageTransformer2DModel](/docs/diffusers/main/tr/api/models/z_image_transformer2d#diffusers.ZImageTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan bir ZImage transformer modeli.
Inpainting için ZImage hattı.
#### __call__[[diffusers.ZImageInpaintPipeline.__call__]]
```python
__call__(prompt: typing.Union[str, typing.List[str]] = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, mask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = None, masked_image_latents: typing.Optional[torch.FloatTensor] = None, strength: float = 1.0, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 5.0, cfg_normalization: bool = False, cfg_truncation: float = 1.0, 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, prompt_embeds: typing.Optional[typing.List[torch.FloatTensor]] = None, negative_prompt_embeds: typing.Optional[typing.List[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 = 512)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_inpaint.py#L535)
**Parametreler:**
prompt (`str` veya `List[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine `prompt_embeds` geçirilmelidir.
image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `List[torch.Tensor]`, `List[PIL.Image.Image]` veya `List[np.ndarray]`) : Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden `Image`, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı `[0, 1]` arasındadır. Tensör veya tensör listesi olması durumunda beklenen şekil `(B, C, H, W)` veya `(C, H, W)` olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil `(B, H, W, C)` veya `(H, W, C)` olmalıdır.
mask_image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `List[torch.Tensor]`, `List[PIL.Image.Image]` veya `List[np.ndarray]`) : `Image`, inpainting için bir maske görüntüsünü temsil eden numpy dizisi veya tensör. Maskedeki beyaz pikseller (değer 1) inpainting işlemine tabi tutulur, siyah pikseller (değer 0) ise orijinal görüntüden korunur.
masked_image_latents (`torch.FloatTensor`, *isteğe bağlı*) : Önceden kodlanmış maskeli görüntü latentleri. Sağlanırsa, maskeli görüntü kodlama adımı atlanır.
strength (`float`, *opsiyonel*, varsayılan 1.0) : Referans `image`'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır. `image` bir başlangıç noktası olarak kullanılır ve `strength` değeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. `strength` 1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci, `num_inference_steps` içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, maskelenmiş bölgede `image`'ı temelde yok sayar.
height (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden yüksekliği. Verilmezse, girdi görüntüsünün yüksekliği kullanılır.
width (`int`, *isteğe bağlı*, varsayılan 1024) : Üretilen görüntünün piksel cinsinden genişliği. Verilmezse, girdi görüntüsünün genişliği kullanılı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.
sigmas (`List[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır.
guidance_scale (`float`, *isteğe bağlı*, varsayılan 5.0) : [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf)'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.
cfg_normalization (`bool`, *isteğe bağlı*, varsayılan olarak False) : Yapılandırma normalizasyonunun uygulanıp uygulanmayacağı.
cfg_truncation (`float`, *isteğe bağlı*, varsayılan 1.0) : Yapılandırma için kesme değeri.
negative_prompt (`str` veya `List[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `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ı bir latens tensörü oluşturulur.
prompt_embeds (`List[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından oluşturulur.
negative_prompt_embeds (`List[torch.FloatTensor]`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından 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.ZImagePipelineOutput` döndürülüp döndürülmediğini belirtir.
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`, *isteğe bağlı*, varsayılan 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu.
**Dönüş:** `ZImagePipelineOutput` veya `tuple`
`return_dict` True ise `ZImagePipelineOutput`, aksi halde bir `tuple`. Bir tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.
Inpainting için pipeline çağrıldığında çağrılan işlev.
Örnekler:
```py
>>> import torch
>>> from diffusers import ZImageInpaintPipeline
>>> from diffusers.utils import load_image
>>> pipe = ZImageInpaintPipeline.from_pretrained("Tongyi-MAI/Z-Image-Turbo", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
>>> init_image = load_image(url).resize((1024, 1024))
>>> # Create a mask (white = inpaint, black = preserve)
>>> import numpy as np
>>> from PIL import Image
>>> mask = np.zeros((1024, 1024), dtype=np.uint8)
>>> mask[256:768, 256:768] = 255 # Inpaint center region
>>> mask_image = Image.fromarray(mask)
>>> prompt = "A beautiful lake with mountains in the background"
>>> image = pipe(
... prompt,
... image=init_image,
... mask_image=mask_image,
... strength=1.0,
... num_inference_steps=8,
... guidance_scale=0.0,
... generator=torch.Generator("cuda").manual_seed(42),
... ).images[0]
>>> image.save("zimage_inpaint.png")
```
#### prepare_latents[[diffusers.ZImageInpaintPipeline.prepare_latents]]
```python
prepare_latents(image, timestep, batch_size, num_channels_latents, height, width, dtype, device, generator, latents = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_inpaint.py#L386)
**Dönüş:** `Tuple of (latents, noise, image_latents) where`
- latents: Gürültülü görüntü latentleri, gürültü azaltma için
- noise: Birleştirme için kullanılan gürültü tensörü
- image_latents: Birleştirme için temiz görüntü latentleri
Inpainting için latentleri hazırlayın, karıştırmak için gürültüyü ve image_latents değerlerini döndürün.
#### prepare_mask_latents[[diffusers.ZImageInpaintPipeline.prepare_mask_latents]]
```python
prepare_mask_latents(mask, masked_image, batch_size, height, width, dtype, device, generator)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/z_image/pipeline_z_image_inpaint.py#L318)
**Parametreler:**
mask : 1 = inpaint bölgesi, 0 = koruma bölgesi olan ikili maske tensörü.
masked_image : Maskelenmiş bölgeler sıfırlanmış orijinal görüntü.
batch_size : Üretilecek görsel sayısı.
height : Çıktı görüntüsü yüksekliği.
width : Çıktı görüntüsü genişliği.
dtype : Tensörler için veri türü.
device : Tensörlerin yerleştirileceği cihaz.
generator : Yeniden üretilebilirlik için rastgele üreteç.
**Dönüş:**
Gürültü azaltma döngüsü için hazırlanan (mask, masked_image_latents) demeti.
Inpainting için maske ve maskelenmiş görüntü latentlerini hazırlayın.

Xet Storage Details

Size:
33.5 kB
·
Xet hash:
be08c56a1f6e37693e7f2b07e73818fe0c65563b5bcf75c413dabb2c285ecaa1

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