Buckets:

mishig's picture
|
download
raw
14.1 kB
# Pipeline
## ModularPipeline[[diffusers.ModularPipeline]]
#### diffusers.ModularPipeline[[diffusers.ModularPipeline]]
```python
diffusers.ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1697)
**Parametreler:**
blocks : ModülerPipelineBlokları, pipeline'da kullanılacak bloklar
Tüm Modular boru hatları için temel sınıf.
#### from_pretrained[[diffusers.ModularPipeline.from_pretrained]]
```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None, trust_remote_code: bool | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1922)
**Parametreler:**
pretrained_model_name_or_path (`str` veya `os.PathLike`, isteğe bağlı) : Ön eğitilmiş bir pipeline yapılandırmasının yolu. Önce yapılandırmayı `modular_model_index.json` dosyasından yüklemeye çalışır, ardından standart modüler olmayan depolarla uyumluluk için `model_index.json` dosyasına geri döner. pretrained_model_name_or_path herhangi bir pipeline yapılandırması içermiyorsa, başlatma sırasında None olarak ayarlanır.
trust_remote_code (`bool`, isteğe bağlı) : Pipeline yüklenirken uzak kodun güvenilip güvenilmeyeceğini belirtir. `pretrained_model_name_or_path` içindeki özel koda dayalı pipeline blokları oluşturmak istiyorsanız True olarak ayarlanmalıdır.
components_manager (`ComponentsManager`, isteğe bağlı) : Farklı pipeline'lar arasında birden fazla bileşeni yönetmek ve offloading stratejilerini uygulamak için ComponentsManager örneği.
collection (`str`, isteğe bağlı) --` ComponentsManager içinde bileşenleri düzenlemek için koleksiyon adı.
workflow (`str`, isteğe bağlı) : Pipeline blokları tarafından tanımlanan bir iş akışının adı. Sağlanırsa, bloklar o iş akışının yürütme bloklarına göre budanır; böylece pipeline yalnızca o iş akışının kullandığı bileşenleri bekler ve `load_components()` yalnızca o bileşenleri yükler.
Bir huggingface hub deposundan ModularPipeline yükleyin.
#### get_component_spec[[diffusers.ModularPipeline.get_component_spec]]
```python
get_component_spec(name: str)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2408)
**Dönüş:**
- belirtilen bileşen adı için ComponentSpec nesnesinin bir kopyası
#### load_components[[diffusers.ModularPipeline.load_components]]
```python
load_components(names: list[str] | str | None = None, workflow: str | None = None, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2496)
**Parametreler:**
names : yüklenecek bileşen adlarının listesi. None ise, default_creation_method == "from_pretrained" olan tüm bileşenler yüklenecektir. Liste veya dize olarak sağlanırsa, yalnızca belirtilen bileşenler yüklenecektir.
workflow : pipeline blokları tarafından bildirilen bir iş akışının adı. Verilirse, yalnızca o iş akışının yürütme bloklarının kullandığı bileşenler yüklenir. `names` ile birleştirilemez.
- ****kwargs** : `from_pretrained()` fonksiyonuna iletilecek ek kwargs. Şunlardan biri olabilir: - Yüklenecek tüm bileşenlere uygulanacak tek bir değer, örn. dtype=torch.bfloat16 - Bir sözlük, örn. dtype={"unet": torch.bfloat16, "default": torch.float32} - kwargs içinde farklı bir yükleme alanı geçirilirse ComponentSpec'i potansiyel olarak geçersiz kılabilir, örn. `pretrained_model_name_or_path`, `variant`, `revision` vb. - kwargs içinde farklı bir yükleme alanı geçirilirse ComponentSpec'i potansiyel olarak geçersiz kılabilir, örn. `pretrained_model_name_or_path`, `variant`, `revision` vb.
Belirtilen bileşenleri spesifikasyonlardan yükleyin.
#### register_components[[diffusers.ModularPipeline.register_components]]
```python
register_components(**kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2193)
**Parametreler:**
- ****kwargs** : Anahtarları bileşen adları, değerleri bileşen nesneleri olan anahtar kelime argümanları. Örn., register_components(unet=unet_model, text_encoder=encoder_model)
Bileşenleri ilgili spesifikasyonlarıyla kaydedin.
Bu yöntem şunlardan sorumludur:
1. Bileşen nesnelerini yükleyicide öznitelikler olarak ayarlar (ör. self.unet = unet)
2. `save_pretrained` sırasında `modular_model_index.json` olarak kaydedilecek config sözlüğünü günceller (yalnızca from_pretrained bileşenleri için)
3. Bir bileşen yöneticisi bağlıysa bileşenleri bileşen yöneticisine ekler (yalnızca from_pretrained bileşenleri için)
Bu yöntem şu durumlarda çağrılır:
- Bileşenler önce __init__ içinde başlatılır:
- from_pretrained bileşenleri __init__ sırasında yüklenmediği için None olarak kaydedilir;
- non from_pretrained bileşenleri __init__ sırasında oluşturulur ve nesnenin kendisi olarak kaydedilir
- Bileşenler `update_components()` yöntemiyle güncellenir: örneğin loader.update_components(unet=unet) veya loader.update_components(guider=guider_spec)
- (from_pretrained) Bileşenler `load_components()` yöntemiyle yüklenir: örneğin tüm varsayılan bileşenleri yüklemek için loader.load_components(names=["unet"]) veya loader.load_components()
Notlar:
- Bir bileşen için None kaydedildiğinde, öznitelik None olarak ayarlanır ancak yine de özellikler yapılandırma sözlüğüyle senkronize edilir; bu sözlük `save_pretrained` sırasında `modular_model_index.json` olarak kaydedilir.
- component_specs, bu yöntemin dışında, örneğin `update_components()` yönteminde, yeni bileşenle eşleşecek şekilde güncellenir
#### save_pretrained[[diffusers.ModularPipeline.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, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2023)
**Parametreler:**
save_directory (`str` veya `os.PathLike`) : Pipeline'in 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.
push_to_hub (`bool`, *isteğe bağlı*, varsayılan `False`) : Kaydedildikten sonra hattın Hugging Face model merkezine gönderilip gönderilmeyeceğini belirtir.
- ****kwargs** : Ek anahtar kelime argümanları: - `overwrite_modular_index` (`bool`, *isteğe bağlı*, varsayılan `True`): Kaydedilen her bileşenin yükleme özelliğinin hedefe işaret etmesi için `modular_model_index.json` dosyasının güncellenip güncellenmeyeceği: Hub'a itildiğinde `repo_id`, aksi halde `save_directory`. Yüklenmeyen bileşenler kaydedilmez ve her zaman kayıtlı yükleme özelliklerini korur. Kaydedilen bileşenlerin kayıtlı özelliklerinin de korunması için `False` geçin (ör. kasıtlı olarak diğer depolara atıfta bulunan bir dizin için); bir yükleme kimliği olmayan bileşenler (ör. `update_components` ile eklenen özel modeller) kayıtlı bir kaynağa sahip olmadıkları için yine de yeniden yazılır. - `repo_id` (`str`, *isteğe bağlı*): Boru hattının itileceği depo kimliği. Varsayılan olarak `save_directory`'nin son bileşenidir. - `commit_message` (`str`, *isteğe bağlı*): Hub'a itme işlemi için commit mesajı. - `private` (`bool`, *isteğe bağlı*): Deponun özel olup olmayacağı. - `create_pr` (`bool`, *isteğe bağlı*, varsayılan `False`): Doğrudan itmek yerine bir çekme isteği (pull request) oluşturulup oluşturulmayacağı. - `token` (`str`, *isteğe bağlı*): Kimlik doğrulama için kullanılacak Hugging Face jetonu.
Hattın ve tüm bileşenlerinin [from_pretrained()](/docs/diffusers/main/tr/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained) sınıf yöntemiyle yeniden yüklenebilmesi için bir dizine kaydedin.
#### 'e[[diffusers.ModularPipeline.to]]
```python
to(*args, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2658)
**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`
#### unload_components[[diffusers.ModularPipeline.unload_components]]
```python
unload_components(names: list[str] | str)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2602)
**Parametreler:**
names : boşaltılacak bileşen adı veya bileşen adları listesi.
Seçili bileşenleri boşaltın ve belleklerini serbest bırakın.
Bileşen özniteliği `None` olarak ayarlanır ve bir ComponentsManager bağlıysa bileşen ondan kaldırılır. Bileşen spesifikasyonu değiştirilmediğinden, bileşen daha sonra `load_components()` ile yeniden yüklenebilir.
#### update_components[[diffusers.ModularPipeline.update_components]]
```python
update_components(**kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L2415)
**Parametreler:**
- ****kwargs** : Güncellenecek bileşen nesneleri veya yapılandırma değerleri: - Bileşen nesneleri: `AutoModel.from_pretrained()` veya `ComponentSpec.load()` ile yüklenen modeller, yükleme bilgisiyle otomatik olarak etiketlenir. Ağırlıkları olmayan ConfigMixin nesneleri (ör. zamanlayıcılar, yönlendiriciler) doğrudan geçirilebilir. - Yapılandırma değerleri: Yapılandırma ayarlarını güncellemek için basit değerler (ör. `requires_safety_checker=False`)
Pipeline örneklemesi tamamlandıktan sonra bileşenleri ve yapılandırma değerlerini ve spesifikasyonlarını güncelleyin.
Bu yöntem size şunları yapma imkânı tanır:
1. Mevcut bileşenleri yenileriyle değiştirin (ör. `self.unet` veya `self.text_encoder` güncellemesi)
2. Yapılandırma değerlerini güncelle (ör. `self.requires_safety_checker` bayrağını değiştirme)
Bileşenleri ve yapılandırma değerlerini pipeline öznitelikleri olarak güncellemenin yanı sıra, yöntem ayrıca şunları da günceller:
- `_component_specs` ve `_config_specs` içindeki ilgili spesifikasyonlar
- `save_pretrained` sırasında `modular_model_index.json` olarak kaydedilecek olan `config` sözlüğü
Örnekler:
```python
# Update pre-trained model
pipeline.update_components(unet=new_unet_model, text_encoder=new_text_encoder)
# Update configuration values
pipeline.update_components(requires_safety_checker=False)
```
Notlar:
- `AutoModel.from_pretrained()` veya `ComponentSpec.load()` ile yüklenen bileşenlerin
serileştirme için korunan yükleme özellikleri. Hub referansları olmayan özel veya yerel olarak yüklenen bileşenlerin `modular_model_index.json` girdileri, `save_pretrained()` sırasında otomatik olarak güncellenir.
- Ağırlıkları olmayan ConfigMixin nesneleri (ör. zamanlayıcılar, yönlendiriciler) doğrudan geçirilebilir.

Xet Storage Details

Size:
14.1 kB
·
Xet hash:
81b54d2171f9b1aea03ce8d91d82d9079099d7567825a3f71b9a6b4ffaae2f88

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