# Hattalar

Pipelines, bağımsız olarak eğitilmiş birden fazla model, zamanlayıcılar ve işlemciler gibi gerekli tüm bileşenleri tek bir uçtan uca sınıfında bir araya getirerek, en son nesil difüzyon modellerini çıkarım (inference) sırasında çalıştırmak için basit bir yol sunar. Pipelines esnektir ve farklı zamanlayıcılar veya hatta model bileşenleri kullanacak şekilde uyarlanabilir.

Tüm pipeline'lar, tüm bileşenlerin yüklenmesi, indirilmesi ve kaydedilmesi için temel işlevselliği sağlayan [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) temel sınıfından oluşturulur. [from_pretrained()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) ile yüklenen belirli pipeline türleri (örneğin [StableDiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline)) otomatik olarak algılanır ve pipeline bileşenleri yüklenerek pipeline'ın `__init__` fonksiyonuna aktarılır.

> [!WARNING]
> Eğitim için [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfını kullanmamalısınız. Difüzyon boru hatlarının bireysel bileşenleri (örneğin, [UNet2DModel](/docs/diffusers/main/tr/api/models/unet2d#diffusers.UNet2DModel) ve [UNet2DConditionModel](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.UNet2DConditionModel)) genellikle ayrı ayrı eğitilir, bu nedenle doğrudan bunlarla çalışmanızı öneririz.
>
> 
>
> Pipelines herhangi bir eğitim işlevselliği sunmaz. `__call__()` yönteminin bir [`torch.no_grad`](https://pytorch.org/docs/stable/generated/torch.no_grad.html) dekoratörüyle süslenmiş olduğunu fark edeceksiniz; bu, PyTorch'un autograd'ının devre dışı bırakılması anlamına gelir çünkü pipeline'lar eğitim için kullanılmamalıdır. Eğitime ilgi duyuyorsanız, bunun yerine [Eğitim](../../training/overview) kılavuzlarına göz atmanızı öneririz!

Kenar çubuğundaki **API > Pipelines** bölümünü kullanarak tüm pipeline referanslarını modaliteye göre görüntüleyin. Görev odaklı iş akışları için [Quickstart](../../quicktour) ile başlayın veya [text-to-image](../../using-diffusers/conditional_image_generation), [image-to-image](../../using-diffusers/img2img), [inpainting](../../using-diffusers/inpaint) ya da [video generation](../../using-diffusers/text-img2vid) gibi bir kılavuza göz atın.

## DiffusionPipeline[[diffusers.DiffusionPipeline]]

#### diffusers.DiffusionPipeline[[diffusers.DiffusionPipeline]]

```python
diffusers.DiffusionPipeline()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L198)

Tüm boru hatları için temel sınıf.

[DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline), difüzyon boru hatları için tüm bileşenleri (modeller, zamanlayıcılar ve işlemciler) saklar ve modelleri yükleme, indirme ve kaydetme yöntemleri sunar. Ayrıca şu yöntemleri içerir:

- tüm PyTorch modüllerini seçtiğiniz cihaza taşıyın
- gürültü azaltma yinelemesi için ilerleme çubuğunu etkinleştirme/devre dışı bırakma

Sınıf özellikleri:

- **config_name** (`str`) -- Tüm difüzyon hattı bileşenlerinin sınıf ve modül adlarını saklayan yapılandırma dosya adı.
- **_optional_components** (`List[str]`) -- Pipeline'in çalışması için iletilmesi gerekmeyen tüm isteğe bağlı bileşenlerin listesi (alt sınıflar tarafından geçersiz kılınmalıdır).

#### __call__[[diffusers.DiffusionPipeline.__call__]]

```python
__call__(*args, **kwargs)
```

self'yi bir fonksiyon olarak çağırın.

#### cihaz[[diffusers.DiffusionPipeline.device]]

```python
device()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L600)

**Dönüş:** `torch.device`

Hattın (pipeline) bulunduğu torch cihazı. Bileşenler cihazlar arasında bölündüğünde (örneğin, metin kodlayıcılar CPU'da çalışırken gürültü azaltma omurgası bir hızlandırıcıda çalışıyorsa), hızlandırıcı cihazı döndürülür.

#### 'e[[diffusers.DiffusionPipeline.to]]

```python
to(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L397)

**Parametreler:**

dtype (`torch.dtype`, *isteğe bağlı*) : Belirtilen [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) ile bir pipeline döndürür

device (`torch.Device`, *isteğe bağlı*) : Belirtilen [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) ile bir pipeline döndürür

silence_dtype_warnings (`str`, *isteğe bağlı*, varsayılan `False`) : Hedef `dtype`, hedef `device` ile uyumlu değilse uyarıların atlanıp atlanmayacağı.

**Dönüş:** [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline)

Pipeline, belirtilen `dtype` ve/veya `dtype` değerine dönüştürüldü.

Performs Pipeline dtype and/or device conversion. A torch.dtype and torch.device are inferred from the arguments of `self.to(*args, **kwargs).`

> [!TIP] > Pipeline zaten doğru torch.dtype ve torch.device değerlerine sahipse, olduğu gibi döndürülür.
Aksi takdirde, > döndürülen pipeline, istenen torch.dtype ve torch.device değerlerine sahip self'in bir kopyasıdır.

`to` çağrısının yolları şunlardır:

- Belirtilen [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) ile bir pipeline döndürmek için `to(dtype, silence_dtype_warnings=False) → DiffusionPipeline`
- Belirtilen [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) ile bir pipeline döndürmek için `to(device, silence_dtype_warnings=False) → DiffusionPipeline`
- Belirtilen [`device`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.device) ve [`dtype`](https://pytorch.org/docs/stable/tensor_attributes.html#torch.dtype) değerlerine sahip bir pipeline döndürmek için `to(device=None, dtype=None, silence_dtype_warnings=False) → DiffusionPipeline`

#### bileşenler[[diffusers.DiffusionPipeline.components]]

```python
components()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1925)

`self.components` özelliği, ek bellek tahsis etmeden aynı ağırlıklar ve yapılandırmalarla farklı boru hatlarını çalıştırmak için faydalı olabilir.

Returns (`dict`): Hattın başlatılması için gereken tüm modülleri içeren bir sözlük.

Örnekler:

```py
>>> from diffusers import (
...     StableDiffusionPipeline,
...     StableDiffusionImg2ImgPipeline,
...     StableDiffusionInpaintPipeline,
... )

>>> text2img = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> img2img = StableDiffusionImg2ImgPipeline(**text2img.components)
>>> inpaint = StableDiffusionInpaintPipeline(**text2img.components)
```

#### disable_attention_slicing[[diffusers.DiffusionPipeline.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.

#### disable_xformers_memory_efficient_attention[[diffusers.DiffusionPipeline.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.

#### indir[[diffusers.DiffusionPipeline.download]]

```python
download(pretrained_model_name, **kwargs)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1501)

**Parametreler:**

pretrained_model_name (`str` veya `os.PathLike`, *isteğe bağlı*) : Hub'da barındırılan önceden eğitilmiş bir pipeline'ın *depo kimliği* (örneğin `CompVis/ldm-text2im-large-256`) olan bir dize.

custom_pipeline (`str`, *isteğe bağlı*) : Şunlardan biri olabilir:  - Hub'da barındırılan önceden eğitilmiş bir pipeline'ın *depo kimliği* (örneğin `CompVis/ldm-text2im-large-256`) olan bir dize. Depo, özel pipeline'ı tanımlayan `pipeline.py` adında bir dosya içermelidir.  - GitHub'da [Community](https://github.com/huggingface/diffusers/tree/main/examples/community) altında barındırılan bir topluluk pipeline'ının *dosya adı* olan bir dize. Geçerli dosya adları, pipeline betiği yerine dosya adıyla eşleşmelidir (`clip_guided_stable_diffusion.py` yerine `clip_guided_stable_diffusion`). Topluluk pipeline'ları her zaman GitHub'ın mevcut `main` dalından yüklenir.  - Özel bir pipeline içeren bir *dizin* (`./my_pipeline_directory/`) yoluna işaret eder. Dizin, özel pipeline'ı tanımlayan `pipeline.py` adında bir dosya içermelidir.  > [!WARNING] > 🧪 Bu deneysel bir özelliktir ve gelecekte değişebilir.  Özel pipeline'ların nasıl yükleneceği ve oluşturulacağı hakkında daha fazla bilgi için [Bir topluluk pipeline'ı nasıl katkıda bulunulur](https://huggingface.co/docs/diffusers/main/en/using-diffusers/contribute_pipeline) başlığını inceleyin.

force_download (`bool`, *isteğe bağlı*, varsayılan `False`) : Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.

proxies (`Dict[str, str]`, *isteğe bağlı*) : Protokol veya uç nokta bazında kullanılacak vekil sunucuların sözlüğü, örneğin `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Vekiller her istekte kullanılır.

output_loading_info(`bool`, *isteğe bağlı*, varsayılan `False`) : Eksik anahtarlar, beklenmeyen anahtarlar ve hata mesajlarını içeren bir sözlüğün de döndürülüp döndürülmeyeceğini belirtir.

local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece yerel model ağırlıklarının ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. `True` olarak ayarlanırsa, model Hub'dan indirilmez.

token (`str` veya *bool*, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. `True` ise, `diffusers-cli login` ile oluşturulan jeton (`~/.huggingface` içinde saklanır) kullanılır.

revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

custom_revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. Hub'dan özel bir pipeline yüklenirken `revision` ile benzer şekilde bir dal adı, bir etiket adı veya bir commit id olabilir. GitHub'dan özel bir pipeline yüklenirken bir 🤗 Diffusers sürümü olabilir, aksi takdirde Hub'dan yüklenirken varsayılan olarak `"main"` kullanılır.

mirror (`str`, *isteğe bağlı*) : Çin'de bir model indiriyorsanız erişilebilirlik sorunlarını çözmek için ayna kaynağı. Kaynağın güncelliğini veya güvenliğini garanti etmiyoruz; daha fazla bilgi için ayna sitesine başvurmalısınız.

variant (`str`, *isteğe bağlı*) : Ağırlıkları, `"fp16"` veya `"ema"` gibi belirtilen bir varyant dosya adından yükler.

use_safetensors (`bool`, *isteğe bağlı*, varsayılan `None`) : `None` olarak ayarlanırsa, safetensors ağırlıkları mevcut **ve** safetensors kütüphanesi yüklüyse indirilir. `True` olarak ayarlanırsa, model zorla safetensors ağırlıklarından yüklenir. `False` olarak ayarlanırsa, safetensors ağırlıkları yüklenmez.

use_onnx (`bool`, *isteğe bağlı*, varsayılan `False`) : `True` olarak ayarlanırsa, mevcut olan ONNX ağırlıkları her zaman indirilir. `False` olarak ayarlanırsa, ONNX ağırlıkları asla indirilmez. Varsayılan olarak `use_onnx`, ONNX olmayan hatlar için `False` ve ONNX hatları için `True` olan `_is_onnx` sınıf özniteliğine ayarlanır. ONNX ağırlıkları, `.onnx` ve `.pb` ile biten her iki dosyayı da içerir.

trust_remote_code (`bool`, *isteğe bağlı*, varsayılan `False`) : Hub'da kendi dosyalarında tanımlanan özel pipeline'ların ve bileşenlerin kullanılmasına izin verilip verilmeyeceğini belirtir. Bu seçenek, yalnızca güvendiğiniz ve kodunu incelediğiniz depolar için `True` olarak ayarlanmalıdır; çünkü bu, Hub'da bulunan kodun yerel makinenizde çalıştırılmasına neden olur.

use_flashpack (`bool`, *isteğe bağlı*, varsayılan `False`) : `True` olarak ayarlanırsa, mevcut olan FlashPack ağırlıkları her zaman indirilir. `False` olarak ayarlanırsa, FlashPack ağırlıkları asla indirilmez.

**Dönüş:** `os.PathLike`

İndirilen pipeline'ın yolu.

Önceden eğitilmiş pipeline ağırlıklarından bir PyTorch difüzyon pipeline'ını indirin ve önbelleğe alın.

> [!TIP] > Özel veya [korumalı modelleri](https://huggingface.co/docs/hub/models-gated#gated-models) kullanmak için oturum açın
`hf > auth login

#### enable_attention_slicing[[diffusers.DiffusionPipeline.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]
```

#### enable_group_offload[[diffusers.DiffusionPipeline.enable_group_offload]]

```python
enable_group_offload(onload_device: device, offload_device: device = torch.device(), offload_type: str = 'block_level', num_blocks_per_group: int | None = None, non_blocking: bool = False, use_stream: bool = False, record_stream: bool = False, low_cpu_mem_usage = False, offload_to_disk_path: str | None = None, exclude_modules: str | list[str] | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1361)

**Parametreler:**

onload_device (`torch.device`) : Modül grubunun yüklendiği cihaz.

offload_device (`torch.device`, varsayılan olarak `torch.device("cpu")`) : Modül grubunun aktarıldığı cihaz. Bu genellikle CPU olmalıdır. Varsayılan CPU'dur.

offload_type (`str` veya `GroupOffloadingType`, varsayılan "block_level") : Uygulanacak offload türü. "block_level" veya "leaf_level" değerlerinden biri olabilir. Varsayılan değer "block_level"dır.

offload_to_disk_path (`str`, *isteğe bağlı*, varsayılan `None`) : Parametrelerin taşınacağı dizinin yolu. Bu seçeneğin ayarlanması, makul bir hız-bellek ödüşlemesi istenen sınırlı RAM ortamı ayarlarında faydalı olabilir.

num_blocks_per_group (`int`, *isteğe bağlı*) : offload_type="block_level" kullanıldığında grup başına blok sayısı. offload_type="block_level" kullanıldığında bu alan zorunludur.

non_blocking (`bool`, varsayılan `False`) : True ise, offloading ve onloading işlemleri bloklayıcı olmayan veri aktarımı ile yapılır.

use_stream (`bool`, varsayılan `False`) : True ise, offloading ve onloading işlemleri bir CUDA stream kullanılarak asenkron olarak yapılır. Bu, hesaplama ve veri aktarımının üst üste binmesini sağlayarak faydalı olabilir.

record_stream (`bool`, varsayılan `False`) : `use_stream` ile etkinleştirildiğinde, mevcut tensörün bu akış tarafından kullanıldığını işaretler. Biraz daha fazla bellek kullanımı pahasına daha hızlıdır. Daha fazla ayrıntı için [PyTorch resmi belgeleri](https://pytorch.org/docs/stable/generated/torch.Tensor.record_stream.html)'ne bakın.

low_cpu_mem_usage (`bool`, varsayılan `False`) : True ise, tensörler önceden sabitlenmek yerine anlık olarak sabitlenerek CPU bellek kullanımı en aza indirilir. Bu seçenek yalnızca akışlı CPU dışa aktarma kullanıldığında (yani `use_stream=True`) önem taşır. CPU belleği darboğaz oluşturduğunda faydalı olabilir ancak akış kullanımının sağladığı avantajları azaltabilir.

exclude_modules (`Union[str, List[str]]`, varsayılan `None`) : Offloading'dan hariç tutulacak modüllerin listesi.

Bir torch.nn.Module'ün iç katmanlarına grup offloading uygular. Grup offloading'in ne olduğunu ve nerede faydalı olduğunu anlamak için, öncelikle diğer desteklenen offloading yöntemlerinin nasıl çalıştığına dair bazı bağlam sunmamız gerekir.

Genellikle, offloading iki düzeyde yapılır:
- Modül düzeyinde: Diffusers'ta bu, `ModelMixin::enable_model_cpu_offload()` yöntemi kullanılarak etkinleştirilebilir.
offload yöntemi, bir pipeline'ın her bileşenini depolama için CPU'ya aktararak (offload) ve hesaplama için gerektiğinde hızlandırıcı cihaza geri yükleyerek (onload) çalışır. Bu yöntem, tüm bileşenleri hızlandırıcıda tutmaktan daha bellek verimlidir, ancak bellek gereksinimleri hâlâ oldukça yüksektir. Bu yöntemin çalışabilmesi için, ileri geçişin (forward pass) tamamlanabilmesi adına çalışma zamanı veri türündeki (runtime dtype) model boyutuna eşdeğer bellek + en büyük ara aktivasyon tensörlerinin boyutu gerekir.
- Yaprak düzeyi: Diffusers'ta bu, `ModelMixin::enable_sequential_cpu_offload()` yöntemi kullanılarak etkinleştirilebilir.
Hesaplama grafiğinin en alt yaprak seviyesindeki parametrelerini depolama için CPU'ya aktararak (offload) ve hesaplama için yalnızca yaprakları hızlandırıcı cihaza yükleyerek (onload) çalışır. Bu, en düşük hızlandırıcı bellek miktarını kullanır ancak aşırı sayıda cihaz senkronizasyonu nedeniyle daha yavaş olabilir.

Grup offloading, iki yöntem arasında bir orta yol sunar. İç katman gruplarını (ya da `torch.nn.ModuleList` ya da `torch.nn.Sequential`) offload ederek çalışır. Bu yöntem, modül düzeyindeki offloading'e göre daha az bellek kullanır. Ayrıca, cihaz senkronizasyonlarının sayısı azaldığı için yaprak düzeyi/sıralı offloading'den daha hızlıdır.

CUDA cihazlarında asenkron veri aktarım akışlarını destekleyen bir başka özellik, ardışık offloading'e kıyasla genel çalışma süresini azaltmak için veri aktarımı ile hesaplamayı üst üste bindirme yeteneğidir. Bu, akışlar kullanılarak katman ön yükleme (layer prefetching) ile etkinleştirilir; yani bir sonraki çalıştırılacak katman, mevcut katman çalıştırılırken hızlandırıcı cihaza onloading'e başlar - bu, bellek gereksinimlerini hafifçe artırır. Bu uygulamanın yaprak seviyesinde offloading'i de desteklediğini, ancak akışlar kullanıldığında çok daha hızlı hale gelebileceğini unutmayın.

Örnek:
```python
>>> from diffusers import DiffusionPipeline
>>> import torch

>>> pipe = DiffusionPipeline.from_pretrained("Qwen/Qwen-Image", dtype=torch.bfloat16)

>>> pipe.enable_group_offload(
...     onload_device=torch.device("cuda"),
...     offload_device=torch.device("cpu"),
...     offload_type="leaf_level",
...     use_stream=True,
... )
>>> image = pipe("a beautiful sunset").images[0]
```

#### enable_model_cpu_offload[[diffusers.DiffusionPipeline.enable_model_cpu_offload]]

```python
enable_model_cpu_offload(gpu_id: int | None = None, device: typing.Union[torch.device, str] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1174)

**Parametreler:**

gpu_id (`int`, *opsiyonel*) : Çıkarımda kullanılacak hızlandırıcının kimliği. Belirtilmezse, varsayılan olarak 0 kullanılır.

device (`torch.Device` veya `str`, *isteğe bağlı*, varsayılanı None) : Çıkarımda kullanılacak hızlandırıcının PyTorch cihaz türü. Belirtilmezse, kullanılabilir hızlandırıcı otomatik olarak algılanır ve kullanılır.

Offloads all models to CPU using accelerate, reducing memory usage with a low impact on performance. Compared to `enable_sequential_cpu_offload`, this method moves one whole model at a time to the accelerator when its `forward` method is called, and the model remains in accelerator until the next model runs. Memory savings are lower than with `enable_sequential_cpu_offload`, but performance is much better due to the iterative execution of the `unet`.

#### enable_sequential_cpu_offload[[diffusers.DiffusionPipeline.enable_sequential_cpu_offload]]

```python
enable_sequential_cpu_offload(gpu_id: int | None = None, device: typing.Union[torch.device, str] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1293)

**Parametreler:**

gpu_id (`int`, *opsiyonel*) : Çıkarımda kullanılacak hızlandırıcının kimliği. Belirtilmezse, varsayılan olarak 0 kullanılır.

device (`torch.Device` veya `str`, *isteğe bağlı*, varsayılanı None) : Çıkarımda kullanılacak hızlandırıcının PyTorch cihaz türü. Belirtilmezse, kullanılabilir hızlandırıcı otomatik olarak algılanır ve kullanılır.

🤗 Accelerate kullanılarak tüm modeller CPU'ya aktarılır ve bellek kullanımı önemli ölçüde azaltılır. Çağrıldığında, `self._exclude_from_cpu_offload` içindekiler hariç olmak üzere tüm `torch.nn.Module` bileşenlerinin durum sözlükleri (state dicts) CPU'ya kaydedilir, ardından `torch.device('meta')` konumuna taşınır ve yalnızca ilgili alt modülün `forward` metodu çağrıldığında hızlandırıcıya (accelerator) yüklenir. Aktarma işlemi alt modül bazında gerçekleşir. Bellek tasarrufu `enable_model_cpu_offload` ile karşılaştırıldığında daha yüksektir, ancak performans daha düşüktür.

#### enable_xformers_memory_efficient_attention[[diffusers.DiffusionPipeline.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)
```

#### from_pipe[[diffusers.DiffusionPipeline.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2101)

**Parametreler:**

pipeline (`DiffusionPipeline`) : Yeni bir pipeline oluşturulacak olan pipeline.

**Dönüş:** `DiffusionPipeline`

`pipeline` ile aynı ağırlıklara ve yapılandırmalara sahip yeni bir pipeline.

Verilen bir pipeline'dan yeni bir pipeline oluşturun. Bu yöntem, ek bellek tahsis etmeden mevcut pipeline bileşenlerinden yeni bir pipeline oluşturmak için kullanışlıdır.

Örnekler:

```py
>>> from diffusers import StableDiffusionPipeline, StableDiffusionSAGPipeline

>>> pipe = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> new_pipe = StableDiffusionSAGPipeline.from_pipe(pipe)
```

#### from_pretrained[[diffusers.DiffusionPipeline.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, **kwargs)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L638)

**Parametreler:**

pretrained_model_name_or_path (`str` veya `os.PathLike`, *isteğe bağlı*) : Şunlardan biri olabilir:  - Hub'da barındırılan önceden eğitilmiş bir pipeline'ın *repo kimliği* (örneğin `CompVis/ldm-text2im-large-256`) olan bir dize. - [save_pretrained()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained) kullanılarak kaydedilmiş pipeline ağırlıklarını içeren bir *dizin* yolu (örneğin `./my_pipeline_directory/`).

dtype (`torch.dtype` veya `dict[str, Union[str, torch.dtype]]`, *isteğe bağlı*) : Varsayılan `torch.dtype` değerini geçersiz kılar ve modeli başka bir dtype ile yükler. Alt modelleri farklı dtype'lerle yüklemek için bir `dict` iletin (örneğin `{'transformer': torch.bfloat16, 'vae': torch.float16}`). Belirtilmeyen bileşenler için varsayılan dtype değerini `default` ile ayarlayın (örneğin `{'transformer': torch.bfloat16, 'default': torch.float16}`). Bir bileşen belirtilmemiş ve varsayılan bir değer ayarlanmamışsa `torch.float32` kullanılır.

custom_pipeline (`str`, *isteğe bağlı*) : > [!WARNING] > 🧪 Bu deneysel bir özelliktir ve gelecekte değişebilir.  Şunlardan biri olabilir:  - Hub'da barındırılan özel bir pipeline'ın *repo kimliği* (örneğin `hf-internal-testing/diffusers-dummy-pipeline`) olan bir dize. Depo, özel pipeline'ı tanımlayan pipeline.py adında bir dosya içermelidir. - GitHub'da [Community](https://github.com/huggingface/diffusers/tree/main/examples/community) altında barındırılan bir topluluk pipeline'ının *dosya adı* olan bir dize. Geçerli dosya adları, pipeline betiği yerine dosya adıyla eşleşmelidir (`clip_guided_stable_diffusion.py` yerine `clip_guided_stable_diffusion`). Topluluk pipeline'ları her zaman GitHub'ın güncel ana dalından yüklenir. - Özel bir pipeline içeren bir dizine giden yol (`./my_pipeline_directory/`). Dizin, özel pipeline'ı tanımlayan `pipeline.py` adında bir dosya içermelidir.  Özel pipeline'ların nasıl yükleneceği ve oluşturulacağı hakkında daha fazla bilgi için [Özel Pipeline'ların Yüklenmesi ve Eklenmesi](https://huggingface.co/docs/diffusers/using-diffusers/custom_pipeline_overview) bölümüne göz atın

force_download (`bool`, *isteğe bağlı*, varsayılan `False`) : Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.

cache_dir (`Union[str, os.PathLike]`, *isteğe bağlı*) : Standart önbellek kullanılmıyorsa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alındığı dizinin yolu.

proxies (`Dict[str, str]`, *isteğe bağlı*) : Protokol veya uç nokta bazında kullanılacak vekil sunucuların sözlüğü, örneğin `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Vekiller her istekte kullanılır.

output_loading_info(`bool`, *isteğe bağlı*, varsayılan `False`) : Eksik anahtarlar, beklenmeyen anahtarlar ve hata mesajlarını içeren bir sözlüğün de döndürülüp döndürülmeyeceğini belirtir.

local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece yerel model ağırlıklarının ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. `True` olarak ayarlanırsa, model Hub'dan indirilmez.

token (`str` veya *bool*, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. `True` ise, `diffusers-cli login` ile oluşturulan jeton (`~/.huggingface` içinde saklanır) kullanılır.

revision (`str`, *isteğe bağlı*, varsayılan `"main"`) : Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

custom_revision (`str`, *isteğe bağlı*) : Kullanılacak belirli model sürümü. Hub'dan özel bir pipeline yüklerken `revision` parametresine benzer şekilde bir dal adı, etiket adı veya commit kimliği olabilir. Varsayılan olarak en son kararlı 🤗 Diffusers sürümü kullanılır.

mirror (`str`, *isteğe bağlı*) : Çin'de bir model indirirken erişilebilirlik sorunlarını çözmek için ayna kaynağı. Kaynağın güncelliğini veya güvenliğini garanti etmiyoruz; daha fazla bilgi için ayna sitesine başvurmalısınız.

device_map (`str`, *isteğe bağlı*) : Bir pipeline'ın farklı bileşenlerinin kullanılabilir cihazlara nasıl yerleştirileceğini belirleyen strateji. Şu anda yalnızca "balanced" `device_map` desteklenmektedir. Daha fazla bilgi için [buraya](https://huggingface.co/docs/diffusers/main/en/tutorials/inference_with_big_models#device-placement) bakın.

max_memory (`Dict`, *isteğe bağlı*) : Maksimum bellek için bir sözlük cihaz tanımlayıcısı. Ayarlanmazsa, varsayılan olarak her GPU için kullanılabilir maksimum bellek ve kullanılabilir CPU RAM'i olacaktır.

offload_folder (`str` veya `os.PathLike`, *isteğe bağlı*) : `"disk"` değerini içeren bir device_map varsa, ağırlıkların taşınacağı yol.

offload_state_dict (`bool`, *isteğe bağlı*) : `True` ise, CPU durum sözlüğünün ağırlığı + checkpoint'in en büyük dilimi sığmıyorsa CPU RAM'inin dolmasını önlemek için CPU durum sözlüğü geçici olarak sabit diske aktarılır. Disk aktarımı varsa varsayılan olarak `True` değerine ayarlanır.

low_cpu_mem_usage (`bool`, *isteğe bağlı*, varsayılan olarak PyTorch sürümü >= 1.9.0 ise `True`, aksi halde `False`) : Ağırlıkları başlatmadan yalnızca önceden eğitilmiş ağırlıkları yükleyerek model yüklemesini hızlandırır. Bu, model yüklenirken (tepe bellek dahil) CPU belleğinde model boyutunun 1 katından fazlasını kullanmamaya da çalışır. Yalnızca PyTorch >= 1.9.0 için desteklenir. PyTorch'un daha eski bir sürümünü kullanıyorsanız, bu argümanı `True` olarak ayarlamak bir hata verecektir.

use_safetensors (`bool`, *isteğe bağlı*, varsayılan `None`) : `None` olarak ayarlanırsa, safetensors ağırlıkları mevcut **ve** safetensors kütüphanesi yüklüyse indirilir. `True` olarak ayarlanırsa, model zorla safetensors ağırlıklarından yüklenir. `False` olarak ayarlanırsa, safetensors ağırlıkları yüklenmez.

use_onnx (`bool`, *isteğe bağlı*, varsayılan `None`) : `True` olarak ayarlanırsa, mevcut olan ONNX ağırlıkları her zaman indirilir. `False` olarak ayarlanırsa, ONNX ağırlıkları asla indirilmez. Varsayılan olarak `use_onnx`, ONNX olmayan hatlar için `False` ve ONNX hatları için `True` olan `_is_onnx` sınıf özniteliğine ayarlanır. ONNX ağırlıkları, `.onnx` ve `.pb` ile biten her iki dosyayı da içerir.

kwargs (kalan anahtar kelime argümanları sözlüğü, *isteğe bağlı*) : Yüklenir ve kaydedilir değişkenleri (belirli pipeline sınıfının pipeline bileşenlerini) geçersiz kılmak için kullanılabilir. Geçersiz kılınan bileşenler doğrudan pipeline'ın `__init__` yöntemine iletilir. Daha fazla bilgi için aşağıdaki örneğe bakın.

variant (`str`, *isteğe bağlı*) : Ağırlıkları, `"fp16"` veya `"ema"` gibi belirtilen bir varyant dosya adından yükler.

disable_mmap ('bool', *isteğe bağlı*, varsayılan 'False') : Bir Safetensors modeli yüklenirken mmap'in devre dışı bırakılıp bırakılmayacağını belirtir. Model bir ağ biriminde veya sabit diskte olduğunda, bu ortamın mmap'in rastgele erişim (seek) davranışını iyi yönetememesi nedeniyle bu seçenek daha iyi performans gösterebilir.

Önceden eğitilmiş pipeline ağırlıklarından bir PyTorch difüzyon pipeline'ı örnekleyin.

Hattın varsayılan olarak değerlendirme modunda (`model.eval()`) ayarlanır.

Aşağıdaki hata mesajını alıyorsanız, aşağı akış göreviniz için ağırlıkları ince ayar yapmanız gerekir:

```
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

> [!TIP] > Özel veya [gated](https://huggingface.co/docs/hub/models-gated#gated-models) modelleri kullanmak için oturum açın
`hf > auth login` ile.

Örnekler:

```py
>>> from diffusers import DiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = DiffusionPipeline.from_pretrained("CompVis/ldm-text2im-large-256")

>>> # Download pipeline that requires an authorization token
>>> # For more information on access tokens, please refer to this section
>>> # of the documentation](https://huggingface.co/docs/hub/security-tokens)
>>> pipeline = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")

>>> # Use a different scheduler
>>> from diffusers import LMSDiscreteScheduler

>>> scheduler = LMSDiscreteScheduler.from_config(pipeline.scheduler.config)
>>> pipeline.scheduler = scheduler
```

#### maybe_free_model_hooks[[diffusers.DiffusionPipeline.maybe_free_model_hooks]]

```python
maybe_free_model_hooks()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1270)

Aşağıdakileri gerçekleştiren yöntem:
- Tüm bileşenleri taşır.
- `enable_model_cpu_offload` kullanılırken eklenen tüm model kancalarını kaldırır ve ardından onları yeniden uygular. Model taşınmamışsa bu işlev hiçbir şey yapmaz.
- `register_hook()` ile eklendilerse, denoiser bileşenlerinin durumlu diffusers kancalarını sıfırlar.

`enable_model_cpu_offload` uygulandığında doğru çalışması için bu fonksiyonu pipeline'ınızın `__call__` fonksiyonunun sonuna eklediğinizden emin olun.

#### numpy_to_pil[[diffusers.DiffusionPipeline.numpy_to_pil]]

```python
numpy_to_pil(images)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1963)

Bir NumPy görüntüsünü veya görüntü grubunu bir PIL görüntüsüne dönüştürür.

#### remove_all_hooks[[diffusers.DiffusionPipeline.remove_all_hooks]]

```python
remove_all_hooks()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1165)

`enable_sequential_cpu_offload` veya `enable_model_cpu_offload` kullanılırken eklenen tüm kanca (hook)ları kaldırır.

#### reset_device_map[[diffusers.DiffusionPipeline.reset_device_map]]

```python
reset_device_map()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L1488)

Cihaz haritalarını (varsa) None olarak sıfırlar.

#### save_pretrained[[diffusers.DiffusionPipeline.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, safe_serialization: bool = True, variant: str | None = None, max_shard_size: int | str | None = None, push_to_hub: bool = False, use_flashpack: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L254)

**Parametreler:**

save_directory (`str` veya `os.PathLike`) : Bir pipeline'ın kaydedileceği dizin. Var değilse oluşturulur.

safe_serialization (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin `safetensors` ile mi yoksa geleneksel PyTorch yöntemiyle `pickle` kullanılarak mı kaydedileceğini belirtir.

variant (`str`, *isteğe bağlı*) : Belirtilirse, ağırlıklar `pytorch_model.<variant>.bin` biçiminde kaydedilir.

max_shard_size (`int` veya `str`, varsayılan `None`) : Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Dize olarak ifade ediliyorsa, birimden (örneğin `"5GB"`) önce rakamlar gelmelidir. Tamsayı olarak ifade ediliyorsa birim bayttır. Not: Kullanıcıların `diffusers`'in en son sürümüne yükselmesine izin vermek için bu sınır, belirli bir süre sonra (Ekim 2024'ten itibaren) azaltılacaktır. Bu, Hugging Face ekosistemindeki farklı kütüphaneler (örneğin `transformers` ve `accelerate`) için bu argümana yönelik ortak bir varsayılan boyut belirlemektir.

push_to_hub (`bool`, *isteğe bağlı*, varsayılan `False`) : Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu `repo_id` ile belirleyebilirsiniz (varsayılan olarak ad alanınızdaki `save_directory` adı kullanılır).

kwargs (`Dict[str, Any]`, *isteğe bağlı*) : [push_to_hub()](/docs/diffusers/main/tr/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) yöntemine iletilen ek anahtar kelime argümanları.

Hattın (pipeline) tüm kaydedilebilir değişkenlerini bir dizine kaydeder. Bir hat değişkeni, sınıfı hem bir kaydetme hem de bir yükleme yöntemi uyguluyorsa kaydedilebilir ve yüklenebilir. Hat, [from_pretrained()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) sınıf yöntemi kullanılarak kolayca yeniden yüklenebilir.

#### diffusers.StableDiffusionMixin.enable_freeu[[diffusers.StableDiffusionMixin.enable_freeu]]

```python
diffusers.StableDiffusionMixin.enable_freeu(s1: float, s2: float, b1: float, b2: float)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2285)

**Parametreler:**

s1 (`float`) : 1. aşama için, atlanan özelliklerin katkılarını sönümlemek amacıyla kullanılan ölçekleme faktörü. Bu, geliştirilmiş gürültü azaltma sürecindeki "aşırı yumuşatma etkisini" azaltmak için yapılır.

s2 (`float`) : 2. aşama için, atlanan özelliklerin katkılarını azaltmak üzere kullanılan ölçekleme faktörü. Bu, geliştirilmiş gürültü azaltma sürecindeki "aşırı yumuşatma etkisini" (oversmoothing effect) hafifletmek için yapılır.

b1 (`float`) : Omurga özelliklerinin katkılarını artırmak için 1. aşama ölçekleme çarpanı.

b2 (`float`) : Omurga özelliklerinin katkılarını artırmak için 2. aşama ölçekleme çarpanı.

https://huggingface.co/papers/2309.11497'deki gibi FreeU mekanizmasını etkinleştirir.

Ölçekleme katsayılarının sonundaki ekler, bu katsayıların uygulandığı aşamaları temsil eder.

Stable Diffusion v1, v2 ve Stable Diffusion XL gibi farklı pipeline'lar için iyi çalıştığı bilinen değer kombinasyonları için [resmi depoya](https://github.com/ChenyangSi/FreeU) bakın.

#### diffusers.StableDiffusionMixin.disable_freeu[[diffusers.StableDiffusionMixin.disable_freeu]]

```python
diffusers.StableDiffusionMixin.disable_freeu()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L2307)

Etkinse, FreeU mekanizmasını devre dışı bırakır.

## PushToHubMixin[[diffusers.utils.PushToHubMixin]]

#### diffusers.utils.PushToHubMixin[[diffusers.utils.PushToHubMixin]]

```python
diffusers.utils.PushToHubMixin()
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L491)

Bir model, zamanlayıcı veya hattı Hugging Face Hub'a göndermek için bir Mixin.

#### push_to_hub[[diffusers.utils.PushToHubMixin.push_to_hub]]

```python
push_to_hub(repo_id: str, commit_message: str | None = None, private: bool | None = None, token: str | None = None, create_pr: bool = False, safe_serialization: bool = True, variant: str | None = None, subfolder: str | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L526)

**Parametreler:**

repo_id (`str`) : Model, zamanlayıcı veya pipeline dosyalarınızı itmek istediğiniz depoyun adı. Bir organizasyona itme işlemi sırasında organizasyon adınızı içermelidir. `repo_id` ayrıca yerel bir dizine giden bir yol da olabilir.

commit_message (`str`, *isteğe bağlı*) : İterken commit edilecek mesaj. Varsayılan olarak `"Upload {object}"`.

private (`bool`, *isteğe bağlı*) : Depoyu özel yapılıp yapılmayacağını belirtir. `None` (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.

token (`str`, *isteğe bağlı*) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. `hf auth login` çalıştırıldığında oluşturulan jeton (`~/.huggingface` içinde saklanır).

create_pr (`bool`, *isteğe bağlı*, varsayılan `False`) : Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.

safe_serialization (`bool`, *isteğe bağlı*, varsayılan `True`) : Model ağırlıklarının `safetensors` biçimine dönüştürülüp dönüştürülmeyeceği.

variant (`str`, *isteğe bağlı*) : Belirtilirse, ağırlıklar `pytorch_model.<variant>.bin` biçiminde kaydedilir.

Model, zamanlayıcı veya boru hattı dosyalarını 🤗 Hugging Face Hub'a yükleyin.

Örnekler:

```python
from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="unet")

# Push the `unet` to your namespace with the name "my-finetuned-unet".
unet.push_to_hub("my-finetuned-unet")

# Push the `unet` to an organization with the name "my-finetuned-unet".
unet.push_to_hub("your-org/my-finetuned-unet")
```

## Geri Çağrılar[[diffusers.callbacks.PipelineCallback]]

#### diffusers.callbacks.PipelineCallback[[diffusers.callbacks.PipelineCallback]]

```python
diffusers.callbacks.PipelineCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L7)

Bir pipeline'da kullanılan tüm resmi geri çağrılar (callbacks) için temel sınıf. Bu sınıf, özel geri çağrılar (callbacks) uygulaması için bir yapı sağlar ve tüm geri çağrıların (callbacks) tutarlı bir arayüze sahip olmasını garanti eder.

Lütfen şunları uygulayın: `tensor_inputs`: Bu, geri çağırmanız (callback) için özel gergilik (tensor) girdilerinin bir listesini döndürmelidir. Sadece hattınızın (pipeline) sınıfındaki `._callback_tensor_inputs` özniteliğinde listelenen değişkenleri dahil edebilirsiniz. `callback_fn`: Bu yöntem, geri çağırmanızın (callback) temel işlevselliğini tanımlar.

#### diffusers.callbacks.SDCFGCutoffCallback[[diffusers.callbacks.SDCFGCutoffCallback]]

```python
diffusers.callbacks.SDCFGCutoffCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L69)

Stable Diffusion Pipelines için geri çağırma (callback) işlevi. Belirli bir adım sayısından sonra (`cutoff_step_ratio` veya `cutoff_step_index` ile ayarlanır), bu geri çağırma işlevi CFG'yi devre dışı bırakır.

Not: Bu geri çağrı, kesme adımından sonra `_guidance_scale` özniteliğini 0.0 olarak değiştirerek hattı değiştirir.

#### diffusers.callbacks.SDXLCFGCutoffCallback[[diffusers.callbacks.SDXLCFGCutoffCallback]]

```python
diffusers.callbacks.SDXLCFGCutoffCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L98)

Temel Stable Diffusion XL Pipelines için geri çağırma (callback) işlevi. Belirli bir adım sayısından sonra (`cutoff_step_ratio` veya `cutoff_step_index` ile ayarlanır), bu geri çağırma işlevi CFG'yi devre dışı bırakır.

Not: Bu geri çağrı, kesme adımından sonra `_guidance_scale` özniteliğini 0.0 olarak değiştirerek hattı değiştirir.

#### diffusers.callbacks.SDXLControlnetCFGCutoffCallback[[diffusers.callbacks.SDXLControlnetCFGCutoffCallback]]

```python
diffusers.callbacks.SDXLControlnetCFGCutoffCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L140)

Controlnet Stable Diffusion XL Pipelines için geri çağırma (callback) işlevi. Belirli bir adım sayısından sonra (`cutoff_step_ratio` veya `cutoff_step_index` ile ayarlanır), bu geri çağırma işlevi CFG'yi devre dışı bırakır.

Not: Bu geri çağrı, kesme adımından sonra `_guidance_scale` özniteliğini 0.0 olarak değiştirerek hattı değiştirir.

#### diffusers.callbacks.IPAdapterScaleCutoffCallback[[diffusers.callbacks.IPAdapterScaleCutoffCallback]]

```python
diffusers.callbacks.IPAdapterScaleCutoffCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L188)

`IPAdapterMixin` sınıfından türeyen herhangi bir pipeline için geri çağrı (callback) işlevi. Belirli bir adım sayısından sonra (`cutoff_step_ratio` veya `cutoff_step_index` ile ayarlanır), bu geri çağrı IP Adapter ölçeğini `0.0` olarak ayarlar.

Not: Bu geri çağrı, kesme adımından sonra ölçeği 0.0 olarak ayarlayarak IP Adapter dikkat işleyicilerini değiştirir.

#### diffusers.callbacks.SD3CFGCutoffCallback[[diffusers.callbacks.SD3CFGCutoffCallback]]

```python
diffusers.callbacks.SD3CFGCutoffCallback(cutoff_step_ratio = 1.0, cutoff_step_index = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/callbacks.py#L212)

Stable Diffusion 3 Pipelines için geri çağırma (callback) işlevi. Belirli bir adım sayısından sonra (`cutoff_step_ratio` veya `cutoff_step_index` ile ayarlanır), bu geri çağırma işlevi CFG'yi devre dışı bırakır.

Not: Bu geri çağrı, kesme adımından sonra `_guidance_scale` özniteliğini 0.0 olarak değiştirerek hattı değiştirir.

