Buckets:

hf-doc-build/doc / diffusers /main /tr /api /pipelines /stable_unclip.md
mishig's picture
|
download
raw
43.2 kB
# Stable unCLIP
Stable unCLIP checkpoint'ları, CLIP gömme vektörlerine göre koşullanmak üzere [Stable Diffusion 2.1](./stable_diffusion/stable_diffusion_2) checkpoint'larından ince ayarlanmıştır. Stable unCLIP hâlâ metin gömme vektörlerine göre koşullanır. Bu iki ayrı koşullandırmaya sahip olması sayesinde stable unCLIP, metin yönlendirmeli görsel çeşitlendirme için kullanılabilir. Bir unCLIP önceliyle birleştirildiğinde, tam metinden görsel üretimi için de kullanılabilir.
Makalenin özeti şudur:
*CLIP gibi kontrastif modellerin, hem semantiği hem de stili yakalayan, görüntülerin sağlam temsillerini öğrendiği gösterilmiştir. Bu temsilleri görüntü üretimi için kullanmak amacıyla iki aşamalı bir model öneriyoruz: bir metin açıklaması verildiğinde bir CLIP görüntü gömümünü üreten bir öncül (prior) ve görüntü gömümüne koşullu olarak bir görüntü üreten bir çözücü (decoder). Görüntü temsillerinin açıkça üretilmesinin, fotogerçekçilikte ve açıklama benzerliğinde minimal kayıpla görüntü çeşitliliğini artırdığını gösteriyoruz. Görüntü temsillerine koşullu çözücülerimiz, görüntü temsilinde bulunmayan, önemsiz detayları değiştirirken hem semantiği hem de stili koruyan bir görüntünün varyasyonlarını da üretebilir. Ayrıca, CLIP'in ortak gömüm uzayı, sıfır atış (zero-shot) bir şekilde dil yönlendirmeli görüntü manipülasyonlarını mümkün kılar. Çözücü için difüzyon modelleri kullanıyor ve öncül için hem otoregresif hem de difüzyon modelleriyle deney yapıyoruz; sonuncuların hesaplama açısından daha verimli olduğunu ve daha yüksek kaliteli örnekler ürettiğini buluyoruz.*
## İpuçları
Stable unCLIP, çıkarım sırasında `noise_level` girdisini alır ve bu değer, görsel gömümlerine eklenecek gürültü miktarını belirler. Daha yüksek bir `noise_level`, gürültüsü giderilmiş nihai görsellerdeki çeşitliliği artırır. Varsayılan olarak, görsel gömümlerine ek gürültü eklenmez (`noise_level = 0`).
### Metinden Görüntüye Üretim
Stable unCLIP, KakaoBrain'ın açık kaynaklı DALL-E 2 kopyası [Karlo](https://huggingface.co/kakaobrain/karlo-v1-alpha)'nun öncül modeliyle birleştirilerek metinden görüntüye üretim için kullanılabilir:
```python
import torch
from diffusers import UnCLIPScheduler, DDPMScheduler, StableUnCLIPPipeline
from diffusers.models import PriorTransformer
from transformers import CLIPTokenizer, CLIPTextModelWithProjection
prior_model_id = "kakaobrain/karlo-v1-alpha"
data_type = torch.float16
prior = PriorTransformer.from_pretrained(prior_model_id, subfolder="prior", dtype=data_type)
prior_text_model_id = "openai/clip-vit-large-patch14"
prior_tokenizer = CLIPTokenizer.from_pretrained(prior_text_model_id)
prior_text_model = CLIPTextModelWithProjection.from_pretrained(prior_text_model_id, dtype=data_type)
prior_scheduler = UnCLIPScheduler.from_pretrained(prior_model_id, subfolder="prior_scheduler")
prior_scheduler = DDPMScheduler.from_config(prior_scheduler.config)
stable_unclip_model_id = "stabilityai/stable-diffusion-2-1-unclip-small"
pipe = StableUnCLIPPipeline.from_pretrained(
stable_unclip_model_id,
dtype=data_type,
variant="fp16",
prior_tokenizer=prior_tokenizer,
prior_text_encoder=prior_text_model,
prior=prior,
prior_scheduler=prior_scheduler,
)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
wave_prompt = "dramatic wave, the Oceans roar, Strong wave spiral across the oceans as the waves unfurl into roaring crests; perfect wave form; perfect wave shape; dramatic wave shape; wave shape unbelievable; wave; wave shape spectacular"
image = pipe(prompt=wave_prompt).images[0]
image
```
> [!WARNING]
> Metinden görüntüye üretimde, Karlo modelinin önceliyle aynı olan CLIP ViT-L/14 gömme üzerinde eğitildiği için `stabilityai/stable-diffusion-2-1-unclip-small` kullanıyoruz. [stabilityai/stable-diffusion-2-1-unclip](https://hf.co/stabilityai/stable-diffusion-2-1-unclip) OpenCLIP ViT-H üzerinde eğitildiğinden kullanımını önermiyoruz.
### Metin yönlendirmeli Görselden-Görsele Varyasyon
```python
from diffusers import StableUnCLIPImg2ImgPipeline
from diffusers.utils import load_image
import torch
pipe = StableUnCLIPImg2ImgPipeline.from_pretrained(
"stabilityai/stable-diffusion-2-1-unclip", dtype=torch.float16, variation="fp16"
)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
url = "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/stable_unclip/tarsila_do_amaral.png"
init_image = load_image(url)
images = pipe(init_image).images
images[0].save("variation_image.png")
```
İsteğe bağlı olarak, `pipe`'e aşağıdaki gibi bir prompt da iletebilirsiniz:
```python
prompt = "A fantasy landscape, trending on artstation"
image = pipe(init_image, prompt=prompt).images[0]
image
```
> [!TIP]
> Scheduler'lar [kılavuzunu](../../using-diffusers/schedulers) inceleyerek scheduler hızı ve kalitesi arasındaki ödünleşimi nasıl keşfedebileceğinizi öğrenin ve aynı bileşenleri birden fazla pipeline'a nasıl verimli bir şekilde yükleyebileceğinizi öğrenmek için [pipeline'lar arasında bileşenleri yeniden kullanma](../../using-diffusers/loading#reusing-models-in-multiple-pipelines) bölümüne göz atın.
## StableUnCLIPPipeline[[diffusers.StableUnCLIPPipeline]]
#### diffusers.StableUnCLIPPipeline[[diffusers.StableUnCLIPPipeline]]
```python
diffusers.StableUnCLIPPipeline(prior_tokenizer: CLIPTokenizer, prior_text_encoder: CLIPTextModelWithProjection, prior: PriorTransformer, prior_scheduler: KarrasDiffusionSchedulers, image_normalizer: StableUnCLIPImageNormalizer, image_noising_scheduler: KarrasDiffusionSchedulers, tokenizer: CLIPTokenizer, text_encoder: CLIPTextModel, unet: UNet2DConditionModel, scheduler: KarrasDiffusionSchedulers, vae: AutoencoderKL)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py#L70)
**Parametreler:**
prior_tokenizer (`CLIPTokenizer`) : A `CLIPTokenizer`.
prior_text_encoder (`CLIPTextModelWithProjection`) : Donmuş `CLIPTextModelWithProjection` metin kodlayıcısı.
prior ([PriorTransformer](/docs/diffusers/main/tr/api/models/prior_transformer#diffusers.PriorTransformer)) : Metin gömümünden görüntü gömümünü yaklaşık olarak elde etmek için kullanılan standart unCLIP önceli.
prior_scheduler (`KarrasDiffusionSchedulers`) : Önceki gürültü azaltma sürecinde kullanılan zamanlayıcı.
image_normalizer (`StableUnCLIPImageNormalizer`) : Gürültü uygulanmadan önce tahmin edilen gömme vektörlerini normalize etmek ve gürültü uygulandıktan sonra gömme vektörlerini normalleştirmeyi geri almak için kullanılır.
image_noising_scheduler (`KarrasDiffusionSchedulers`) : Tahmin edilen görüntü gömümlerine gürültü eklemek için gürültü zamanlaması. Eklenmesi gereken gürültü miktarı `noise_level` tarafından belirlenir.
tokenizer (`CLIPTokenizer`) : A `CLIPTokenizer`.
text_encoder (`CLIPTextModel`) : Donmuş `CLIPTextModel` metin kodlayıcısı.
unet ([UNet2DConditionModel](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.UNet2DConditionModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için bir [UNet2DConditionModel](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.UNet2DConditionModel).
scheduler (`KarrasDiffusionSchedulers`) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `unet` 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.
Stable unCLIP kullanarak metinden görüntüye üretim için pipeline.
Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralınmıştır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.
Pipeline ayrıca aşağıdaki yükleme yöntemlerini devralır:
- Metinsel tersine çevirme gömme yüklemek için [load_textual_inversion()](/docs/diffusers/main/tr/api/loaders/textual_inversion#diffusers.loaders.TextualInversionLoaderMixin.load_textual_inversion)
- LoRA ağırlıklarını yüklemek için [load_lora_weights()](/docs/diffusers/main/tr/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights)
- LoRA ağırlıklarını kaydetmek için [save_lora_weights()](/docs/diffusers/main/tr/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights)
#### __call__[[diffusers.StableUnCLIPPipeline.__call__]]
```python
__call__(prompt: str | list[str] | None = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 20, guidance_scale: float = 10.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Optional[torch.Generator] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, noise_level: int = 0, prior_num_inference_steps: int = 25, prior_guidance_scale: float = 4.0, prior_latents: typing.Optional[torch.Tensor] = None, clip_skip: int | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py#L645)
**Parametreler:**
prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa, `prompt_embeds` parametresini iletmeniz gerekir.
height (`int`, *isteğe bağlı*, varsayılan `self.unet.config.sample_size * self.vae_scale_factor`) : Üretilen görüntünün piksel cinsinden yüksekliği.
width (`int`, *isteğe bağlı*, varsayılan `self.unet.config.sample_size * self.vae_scale_factor`) : Üretilen görüntünün piksel cinsinden genişliği.
num_inference_steps (`int`, *isteğe bağlı*, varsayılan 20) : 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.
guidance_scale (`float`, *opsiyonel*, varsayılan 10.0) : Daha yüksek bir guidance scale değeri, modelin metin `prompt`'u ile yakından ilişkili görseller üretmesini teşvik eder; bunun bedeli ise daha düşük görsel kalitedir. Guidance scale, `guidance_scale > 1` olduğunda etkinleşir.
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimde nelerin dahil edilmeyeceğini yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerine `negative_prompt_embeds` parametresini geçmeniz gerekir. Yönlendirme kullanılmadığında (`guidance_scale < 1`) 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ı.
eta (`float`, *isteğe bağlı*, varsayılan 0.0) : [DDIM](https://huggingface.co/papers/2010.02502) makalesindeki eta (η) parametresine karşılık gelir. Yalnızca [DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir ve diğer zamanlayıcılarda yok sayılır.
generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html).
latents (`torch.Tensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen ö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 örneklem yoluyla bir latens tensörü oluşturulur.
prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini (istek ağırlıklandırması) kolayca ayarlamak için kullanılabilir. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından üretilir.
negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini (istek ağırlıklandırması) kolayca ayarlamak için kullanılabilir. Sağlanmazsa, `negative_prompt_embeds`, `negative_prompt` girdi argümanından üretilir.
output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. `PIL.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 [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) döndürülüp döndürülmemesi.
callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback(step: int, timestep: int, latents: torch.Tensor)`.
callback_steps (`int`, *isteğe bağlı*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır.
cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [`self.processor`](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde tanımlanan `AttentionProcessor`'ye aktarılan bir kwargs sözlüğü.
noise_level (`int`, *isteğe bağlı*, varsayılan `0`) : Görsel gömme (embedding) verilerine eklenecek gürültü miktarı. Daha yüksek bir `noise_level`, nihai gürültüden arındırılmış görsellerdeki varyansı artırır. Daha fazla ayrıntı için [StableUnCLIPPipeline.noise_image_embeddings()](/docs/diffusers/main/tr/api/pipelines/stable_unclip#diffusers.StableUnCLIPPipeline.noise_image_embeddings) yöntemine bakın.
prior_num_inference_steps (`int`, *opsiyonel*, varsayılan 25) : Öncül gürültü azaltma sürecindeki 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.
prior_guidance_scale (`float`, *opsiyonel*, varsayılan 4.0) : Daha yüksek bir guidance scale değeri, modelin metin `prompt`'u ile yakından ilişkili görseller üretmesini teşvik eder; bunun bedeli ise daha düşük görsel kalitedir. Guidance scale, `guidance_scale > 1` olduğunda etkinleşir.
prior_latents (`torch.Tensor`, *isteğe bağlı*) : Önceden üretilmiş, Gauss dağılımından örneklenen gürültülü latensler; önceki gürültü azaltma sürecinde gömme üretimi için girdi olarak kullanılır. Farklı istemlerle aynı üretimi ince ayar yapmak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklem yoluyla bir latens tensörü üretilir.
clip_skip (`int`, *isteğe bağlı*) : Prompt gömme hesaplamaları sırasında CLIP'ten atlanacak katman sayısı. 1 değeri, prompt gömme hesaplamaları için son öncesi katmanın çıktısının kullanılacağı anlamına gelir.
**Dönüş:** [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) veya `tuple`
`return_dict` True ise `~ pipeline_utils.ImagePipelineOutput`, aksi halde bir `tuple`. Bir tuple döndürüldüğünde, ilk öğe üretilen görüntülerin listesidir.
Üretim için pipeline'ın çağrı fonksiyonu.
Örnekler:
```py
>>> import torch
>>> from diffusers import StableUnCLIPPipeline
>>> pipe = StableUnCLIPPipeline.from_pretrained(
... "fusing/stable-unclip-2-1-l", torch_dtype=torch.float16
... ) # TODO update model path
>>> pipe = pipe.to("cuda")
>>> prompt = "a photo of an astronaut riding a horse on mars"
>>> images = pipe(prompt).images
>>> images[0].save("astronaut_horse.png")
```
#### enable_attention_slicing[[diffusers.StableUnCLIPPipeline.enable_attention_slicing]]
```python
enable_attention_slicing(slice_size: str | int = 'auto')
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2048)
**Parametreler:**
slice_size (`str` veya `int`, *isteğe bağlı*, varsayılan `"auto"`) : `"auto"` olduğunda, dikkat başlarına giden girdiyi ikiye böler, böylece dikkat iki adımda hesaplanır. `"max"` ise, her seferinde yalnızca bir dilim çalıştırılarak maksimum miktarda bellek tasarrufu sağlanır. Bir sayı sağlanırsa, `attention_head_dim // slice_size` kadar dilim kullanılır. Bu durumda `attention_head_dim`, `slice_size`'ın katı olmalıdır.
Dilimlenmiş dikkat (attention) hesaplamasını etkinleştirir. Bu seçenek etkinleştirildiğinde, dikkat modülü dikkat hesaplamasını birkaç adımda gerçekleştirmek için girdi tensörünü dilimlere böler. Birden fazla dikkat başlığı (attention head) varsa, hesaplama her başlık üzerinde sırayla yapılır. Bu, küçük bir hız kaybı karşılığında bellek tasarrufu sağlamak için faydalıdır.
> [!WARNING] > ⚠️ Zaten `scaled_dot_product_attention` (SDPA) kullanıyorsanız dikkat dilimlemeyi etkinleştirmeyin
from PyTorch > 2.0 or xFormers. Bu dikkat hesaplamaları zaten çok bellek verimlidir, bu yüzden bu işlevi etkinleştirmenize gerek yoktur. SDPA veya xFormers ile dikkat dilimlemeyi etkinleştirirseniz, ciddi yavaşlamalara yol açabilir!
Örnekler:
```py
>>> import torch
>>> from diffusers import StableDiffusionPipeline
>>> pipe = StableDiffusionPipeline.from_pretrained(
... "stable-diffusion-v1-5/stable-diffusion-v1-5",
... dtype=torch.float16,
... use_safetensors=True,
... )
>>> prompt = "a photo of an astronaut riding a horse on mars"
>>> pipe.enable_attention_slicing()
>>> image = pipe(prompt).images[0]
```
#### disable_attention_slicing[[diffusers.StableUnCLIPPipeline.disable_attention_slicing]]
```python
disable_attention_slicing()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2085)
Dilimlenmiş dikkat hesaplamasını devre dışı bırakır. `enable_attention_slicing` daha önce çağrıldıysa, dikkat tek adımda hesaplanır.
#### enable_xformers_memory_efficient_attention[[diffusers.StableUnCLIPPipeline.enable_xformers_memory_efficient_attention]]
```python
enable_xformers_memory_efficient_attention(attention_op: typing.Optional[typing.Callable] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1993)
**Parametreler:**
attention_op (`Callable`, *isteğe bağlı*) : xFormers'in [`memory_efficient_attention()`](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.memory_efficient_attention) fonksiyonunda `op` argümanı olarak kullanılmak üzere varsayılan `None` operatörünü geçersiz kılar.
[xFormers](https://facebookresearch.github.io/xformers/) ile bellek verimli dikkati etkinleştirin. Bu seçenek etkinleştirildiğinde, GPU bellek kullanımının daha düşük olduğunu ve çıkarım sırasında olası bir hızlanmayı gözlemlemelisiniz. Eğitim sırasında hızlanma garanti edilmemektedir.
> [!WARNING] > ⚠️ Hem memory efficient attention hem de sliced attention etkinleştirildiğinde, memory efficient
attention, > önceliğine sahiptir.
Örnekler:
```py
>>> import torch
>>> from diffusers import DiffusionPipeline
>>> from xformers.ops import MemoryEfficientAttentionFlashAttentionOp
>>> pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1", dtype=torch.float16)
>>> pipe = pipe.to("cuda")
>>> pipe.enable_xformers_memory_efficient_attention(attention_op=MemoryEfficientAttentionFlashAttentionOp)
>>> # Workaround for not accepting attention shape using VAE for Flash Attention
>>> pipe.vae.enable_xformers_memory_efficient_attention(attention_op=None)
```
#### disable_xformers_memory_efficient_attention[[diffusers.StableUnCLIPPipeline.disable_xformers_memory_efficient_attention]]
```python
disable_xformers_memory_efficient_attention()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2024)
[xFormers](https://facebookresearch.github.io/xformers/) için bellek verimli dikkati devre dışı bırakın.
#### encode_prompt[[diffusers.StableUnCLIPPipeline.encode_prompt]]
```python
encode_prompt(prompt, device, num_images_per_prompt, do_classifier_free_guidance, negative_prompt = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, lora_scale: float | None = None, clip_skip: int | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py#L297)
**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ı
do_classifier_free_guidance (`bool`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı
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.
prompt_embeds (`torch.Tensor`, *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 (`torch.Tensor`, *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.
lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir LoRA ölçeği.
clip_skip (`int`, *isteğe bağlı*) : Prompt gömme hesaplamaları sırasında CLIP'ten atlanacak katman sayısı. 1 değeri, prompt gömme hesaplamaları için son öncesi katmanın çıktısının kullanılacağı anlamına gelir.
İsteği metin kodlayıcı gizli durumlarına kodlar.
#### noise_image_embeddings[[diffusers.StableUnCLIPPipeline.noise_image_embeddings]]
```python
noise_image_embeddings(image_embeds: Tensor, noise_level: int, noise: typing.Optional[torch.Tensor] = None, generator: typing.Optional[torch.Generator] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py#L599)
Görsel gömmelelerine gürültü ekleyin. Gürültü miktarı `noise_level` girdisiyle kontrol edilir. Daha yüksek bir `noise_level`, son gürültüsüz görsellerdeki varyansı artırır.
Gürültü iki şekilde uygulanır:
1. Bir gürültü zamanlaması, gömme doğrudan uygulanır.
2. Çıktıya sinüzoidal zaman gömme vektörü eklenir.
Her iki durumda da gürültü miktarı aynı `noise_level` tarafından kontrol edilir.
Gömceler, gürültü uygulanmadan önce normalize edilir ve gürültü uygulandıktan sonra normalizasyonu kaldırılır.
## StableUnCLIPImg2ImgPipeline[[diffusers.StableUnCLIPImg2ImgPipeline]]
#### diffusers.StableUnCLIPImg2ImgPipeline[[diffusers.StableUnCLIPImg2ImgPipeline]]
```python
diffusers.StableUnCLIPImg2ImgPipeline(feature_extractor: CLIPImageProcessorPil, image_encoder: CLIPVisionModelWithProjection, image_normalizer: StableUnCLIPImageNormalizer, image_noising_scheduler: KarrasDiffusionSchedulers, tokenizer: CLIPTokenizer, text_encoder: CLIPTextModel, unet: UNet2DConditionModel, scheduler: KarrasDiffusionSchedulers, vae: AutoencoderKL)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py#L81)
**Parametreler:**
feature_extractor (`CLIPImageProcessor`) : Kodlanmadan önce görüntü ön işleme için özellik çıkarıcı.
image_encoder (`CLIPVisionModelWithProjection`) : Görselleri kodlamak için kullanılan CLIP görme modeli.
image_normalizer (`StableUnCLIPImageNormalizer`) : Gürültü uygulanmadan önce tahmin edilen gömme vektörlerini normalize etmek ve gürültü uygulandıktan sonra gömme vektörlerini normalleştirmeyi geri almak için kullanılır.
image_noising_scheduler (`KarrasDiffusionSchedulers`) : Tahmin edilen görüntü gömümlerine gürültü eklemek için gürültü zamanlaması. Eklenmesi gereken gürültü miktarı `noise_level` tarafından belirlenir.
tokenizer (`~transformers.CLIPTokenizer`) : A [`~transformers.CLIPTokenizer`)].
text_encoder ([CLIPTextModel](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTextModel)) : Donmuş [CLIPTextModel](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTextModel) metin kodlayıcısı.
unet ([UNet2DConditionModel](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.UNet2DConditionModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için bir [UNet2DConditionModel](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.UNet2DConditionModel).
scheduler (`KarrasDiffusionSchedulers`) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `unet` 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.
Stable unCLIP kullanarak metin yönlendirmeli görüntüden görüntüye üretim için pipeline.
Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralınmıştır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.
Pipeline ayrıca aşağıdaki yükleme yöntemlerini devralır:
- Metinsel tersine çevirme gömme yüklemek için [load_textual_inversion()](/docs/diffusers/main/tr/api/loaders/textual_inversion#diffusers.loaders.TextualInversionLoaderMixin.load_textual_inversion)
- LoRA ağırlıklarını yüklemek için [load_lora_weights()](/docs/diffusers/main/tr/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.load_lora_weights)
- LoRA ağırlıklarını kaydetmek için [save_lora_weights()](/docs/diffusers/main/tr/api/loaders/lora#diffusers.loaders.StableDiffusionLoraLoaderMixin.save_lora_weights)
#### __call__[[diffusers.StableUnCLIPImg2ImgPipeline.__call__]]
```python
__call__(image: typing.Union[torch.Tensor, PIL.Image.Image] = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 20, guidance_scale: float = 10, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, eta: float = 0.0, generator: typing.Optional[torch.Generator] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback: typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None, callback_steps: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, noise_level: int = 0, image_embeds: typing.Optional[torch.Tensor] = None, clip_skip: int | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py#L624)
**Parametreler:**
prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, `prompt_embeds` kullanılır veya prompt `""` olarak başlatılır.
image (`torch.Tensor` veya `PIL.Image.Image`) : `Image` veya bir görüntü partisini temsil eden tensör. Görüntü, `unet`'in koşullandığı CLIP gömümüne kodlanır. Görüntü, standart Stable Diffusion metin yönlendirmeli görüntü varyasyon sürecinde olduğu gibi `vae` ile kodlanıp gürültü azaltma sürecinde latentler olarak kullanılmaz; _değildir_.
height (`int`, *isteğe bağlı*, varsayılan `self.unet.config.sample_size * self.vae_scale_factor`) : Üretilen görüntünün piksel cinsinden yüksekliği.
width (`int`, *isteğe bağlı*, varsayılan `self.unet.config.sample_size * self.vae_scale_factor`) : Üretilen görüntünün piksel cinsinden genişliği.
num_inference_steps (`int`, *isteğe bağlı*, varsayılan 20) : 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.
guidance_scale (`float`, *opsiyonel*, varsayılan 10.0) : Daha yüksek bir guidance scale değeri, modelin metin `prompt`'u ile yakından ilişkili görseller üretmesini teşvik eder; bunun bedeli ise daha düşük görsel kalitedir. Guidance scale, `guidance_scale > 1` olduğunda etkinleşir.
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimde nelerin dahil edilmeyeceğini yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerine `negative_prompt_embeds` parametresini geçmeniz gerekir. Yönlendirme kullanılmadığında (`guidance_scale < 1`) 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ı.
eta (`float`, *isteğe bağlı*, varsayılan 0.0) : [DDIM](https://huggingface.co/papers/2010.02502) makalesindeki eta (η) parametresine karşılık gelir. Yalnızca [DDIMScheduler](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.DDIMScheduler) için geçerlidir ve diğer zamanlayıcılarda yok sayılır.
generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Üretimi deterministik hale getirmek için bir [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html).
latents (`torch.Tensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen ö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 örneklem yoluyla bir latens tensörü oluşturulur.
prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini (istek ağırlıklandırması) kolayca ayarlamak için kullanılabilir. Sağlanmazsa, metin gömme değerleri `prompt` girdi argümanından üretilir.
negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini (istek ağırlıklandırması) kolayca ayarlamak için kullanılabilir. Sağlanmazsa, `negative_prompt_embeds`, `negative_prompt` girdi argümanından üretilir.
output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. `PIL.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 [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) döndürülüp döndürülmemesi.
callback (`Callable`, *isteğe bağlı*) : Çıkarım sırasında her `callback_steps` adımda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: `callback(step: int, timestep: int, latents: torch.Tensor)`.
callback_steps (`int`, *isteğe bağlı*, varsayılan 1) : `callback` fonksiyonunun çağrılma sıklığı. Belirtilmezse, callback her adımda çağrılır.
cross_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [`self.processor`](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde tanımlanan `AttentionProcessor`'ye aktarılan bir kwargs sözlüğü.
noise_level (`int`, *isteğe bağlı*, varsayılan `0`) : Görsel gömme (embedding) verilerine eklenecek gürültü miktarı. Daha yüksek bir `noise_level`, nihai gürültüden arındırılmış görsellerdeki varyansı artırır. Daha fazla ayrıntı için [StableUnCLIPPipeline.noise_image_embeddings()](/docs/diffusers/main/tr/api/pipelines/stable_unclip#diffusers.StableUnCLIPPipeline.noise_image_embeddings) yöntemine bakın.
image_embeds (`torch.Tensor`, *isteğe bağlı*) : `unet` üzerinde koşullandırmak için önceden oluşturulmuş CLIP gömme değerleri. Bu latentler gürültü azaltma sürecinde kullanılmaz. Önceden oluşturulmuş latentler sağlamak istiyorsanız, bunları `__call__` içine `latents` olarak iletin.
clip_skip (`int`, *isteğe bağlı*) : Prompt gömme hesaplamaları sırasında CLIP'ten atlanacak katman sayısı. 1 değeri, prompt gömme hesaplamaları için son öncesi katmanın çıktısının kullanılacağı anlamına gelir.
**Dönüş:** [ImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) veya `tuple`
`return_dict` True ise `~ pipeline_utils.ImagePipelineOutput`, aksi halde bir `tuple`. Bir tuple döndürüldüğünde, ilk öğe üretilen görüntülerin listesidir.
Üretim için pipeline'ın çağrı fonksiyonu.
Örnekler:
```py
>>> import requests
>>> import torch
>>> from PIL import Image
>>> from io import BytesIO
>>> from diffusers import StableUnCLIPImg2ImgPipeline
>>> pipe = StableUnCLIPImg2ImgPipeline.from_pretrained(
... "stabilityai/stable-diffusion-2-1-unclip-small", torch_dtype=torch.float16
... )
>>> pipe = pipe.to("cuda")
>>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
>>> response = requests.get(url)
>>> init_image = Image.open(BytesIO(response.content)).convert("RGB")
>>> init_image = init_image.resize((768, 512))
>>> prompt = "A fantasy landscape, trending on artstation"
>>> images = pipe(init_image, prompt).images
>>> images[0].save("fantasy_landscape.png")
```
#### enable_attention_slicing[[diffusers.StableUnCLIPImg2ImgPipeline.enable_attention_slicing]]
```python
enable_attention_slicing(slice_size: str | int = 'auto')
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2048)
**Parametreler:**
slice_size (`str` veya `int`, *isteğe bağlı*, varsayılan `"auto"`) : `"auto"` olduğunda, dikkat başlarına giden girdiyi ikiye böler, böylece dikkat iki adımda hesaplanır. `"max"` ise, her seferinde yalnızca bir dilim çalıştırılarak maksimum miktarda bellek tasarrufu sağlanır. Bir sayı sağlanırsa, `attention_head_dim // slice_size` kadar dilim kullanılır. Bu durumda `attention_head_dim`, `slice_size`'ın katı olmalıdır.
Dilimlenmiş dikkat (attention) hesaplamasını etkinleştirir. Bu seçenek etkinleştirildiğinde, dikkat modülü dikkat hesaplamasını birkaç adımda gerçekleştirmek için girdi tensörünü dilimlere böler. Birden fazla dikkat başlığı (attention head) varsa, hesaplama her başlık üzerinde sırayla yapılır. Bu, küçük bir hız kaybı karşılığında bellek tasarrufu sağlamak için faydalıdır.
> [!WARNING] > ⚠️ Zaten `scaled_dot_product_attention` (SDPA) kullanıyorsanız dikkat dilimlemeyi etkinleştirmeyin
from PyTorch > 2.0 or xFormers. Bu dikkat hesaplamaları zaten çok bellek verimlidir, bu yüzden bu işlevi etkinleştirmenize gerek yoktur. SDPA veya xFormers ile dikkat dilimlemeyi etkinleştirirseniz, ciddi yavaşlamalara yol açabilir!
Örnekler:
```py
>>> import torch
>>> from diffusers import StableDiffusionPipeline
>>> pipe = StableDiffusionPipeline.from_pretrained(
... "stable-diffusion-v1-5/stable-diffusion-v1-5",
... dtype=torch.float16,
... use_safetensors=True,
... )
>>> prompt = "a photo of an astronaut riding a horse on mars"
>>> pipe.enable_attention_slicing()
>>> image = pipe(prompt).images[0]
```
#### disable_attention_slicing[[diffusers.StableUnCLIPImg2ImgPipeline.disable_attention_slicing]]
```python
disable_attention_slicing()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2085)
Dilimlenmiş dikkat hesaplamasını devre dışı bırakır. `enable_attention_slicing` daha önce çağrıldıysa, dikkat tek adımda hesaplanır.
#### enable_xformers_memory_efficient_attention[[diffusers.StableUnCLIPImg2ImgPipeline.enable_xformers_memory_efficient_attention]]
```python
enable_xformers_memory_efficient_attention(attention_op: typing.Optional[typing.Callable] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1993)
**Parametreler:**
attention_op (`Callable`, *isteğe bağlı*) : xFormers'in [`memory_efficient_attention()`](https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.memory_efficient_attention) fonksiyonunda `op` argümanı olarak kullanılmak üzere varsayılan `None` operatörünü geçersiz kılar.
[xFormers](https://facebookresearch.github.io/xformers/) ile bellek verimli dikkati etkinleştirin. Bu seçenek etkinleştirildiğinde, GPU bellek kullanımının daha düşük olduğunu ve çıkarım sırasında olası bir hızlanmayı gözlemlemelisiniz. Eğitim sırasında hızlanma garanti edilmemektedir.
> [!WARNING] > ⚠️ Hem memory efficient attention hem de sliced attention etkinleştirildiğinde, memory efficient
attention, > önceliğine sahiptir.
Örnekler:
```py
>>> import torch
>>> from diffusers import DiffusionPipeline
>>> from xformers.ops import MemoryEfficientAttentionFlashAttentionOp
>>> pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1", dtype=torch.float16)
>>> pipe = pipe.to("cuda")
>>> pipe.enable_xformers_memory_efficient_attention(attention_op=MemoryEfficientAttentionFlashAttentionOp)
>>> # Workaround for not accepting attention shape using VAE for Flash Attention
>>> pipe.vae.enable_xformers_memory_efficient_attention(attention_op=None)
```
#### disable_xformers_memory_efficient_attention[[diffusers.StableUnCLIPImg2ImgPipeline.disable_xformers_memory_efficient_attention]]
```python
disable_xformers_memory_efficient_attention()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2024)
[xFormers](https://facebookresearch.github.io/xformers/) için bellek verimli dikkati devre dışı bırakın.
#### encode_prompt[[diffusers.StableUnCLIPImg2ImgPipeline.encode_prompt]]
```python
encode_prompt(prompt, device, num_images_per_prompt, do_classifier_free_guidance, negative_prompt = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, lora_scale: float | None = None, clip_skip: int | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py#L259)
**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ı
do_classifier_free_guidance (`bool`) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı
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.
prompt_embeds (`torch.Tensor`, *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 (`torch.Tensor`, *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.
lora_scale (`float`, *isteğe bağlı*) : LoRA katmanları yüklendiyse, metin kodlayıcısının tüm LoRA katmanlarına uygulanacak bir LoRA ölçeği.
clip_skip (`int`, *isteğe bağlı*) : Prompt gömme hesaplamaları sırasında CLIP'ten atlanacak katman sayısı. 1 değeri, prompt gömme hesaplamaları için son öncesi katmanın çıktısının kullanılacağı anlamına gelir.
İsteği metin kodlayıcı gizli durumlarına kodlar.
#### noise_image_embeddings[[diffusers.StableUnCLIPImg2ImgPipeline.noise_image_embeddings]]
```python
noise_image_embeddings(image_embeds: Tensor, noise_level: int, noise: typing.Optional[torch.Tensor] = None, generator: typing.Optional[torch.Generator] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py#L578)
Görsel gömmelelerine gürültü ekleyin. Gürültü miktarı `noise_level` girdisiyle kontrol edilir. Daha yüksek bir `noise_level`, son gürültüsüz görsellerdeki varyansı artırır.
Gürültü iki şekilde uygulanır:
1. Bir gürültü zamanlaması, gömme doğrudan uygulanır.
2. Çıktıya sinüzoidal zaman gömme vektörü eklenir.
Her iki durumda da gürültü miktarı aynı `noise_level` tarafından kontrol edilir.
Gömceler, gürültü uygulanmadan önce normalize edilir ve gürültü uygulandıktan sonra normalizasyonu kaldırılır.
## ImagePipelineOutput[[diffusers.ImagePipelineOutput]]
#### diffusers.ImagePipelineOutput[[diffusers.ImagePipelineOutput]]
```python
diffusers.ImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L135)
**Parametreler:**
images (`List[PIL.Image.Image]` veya `np.ndarray`) : Uzunluğu `batch_size` olan gürültüsü azaltılmış PIL görüntülerinin listesi veya `(batch_size, height, width, num_channels)` biçiminde NumPy dizisi.
Görüntü hatları için çıktı sınıfı.

Xet Storage Details

Size:
43.2 kB
·
Xet hash:
84a35f967a648553b2ad8585dd74f3c846e48528d06619657458d8a684d0a6d5

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