Buckets:

hf-doc-build/doc / diffusers /main /tr /api /modular_diffusers /pipeline_components.md
mishig's picture
|
download
raw
16.2 kB
# Bileşenler ve yapılandırmalar
## ComponentSpec[[diffusers.ComponentSpec]]
#### diffusers.ComponentSpec[[diffusers.ComponentSpec]]
```python
diffusers.ComponentSpec(name: str | None = None, type_hint: typing.Optional[typing.Type] = None, description: str | None = None, config: diffusers.configuration_utils.FrozenDict | None = None, pretrained_model_name_or_path: str | list[str] | None = None, subfolder: str | None = '', variant: str | None = None, revision: str | None = None, default_creation_method: typing.Literal['from_config', 'from_pretrained'] = 'from_pretrained', repo: str | list[str] | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L98)
**Parametreler:**
name : Bileşenin adı
type_hint : Bileşenin türü (ör. UNet2DConditionModel)
description : Bileşenin isteğe bağlı açıklaması
config : __init__ oluşturma için isteğe bağlı yapılandırma sözlüğü
pretrained_model_name_or_path : from_pretrained oluşturma için isteğe bağlı pretrained_model_name_or_path yolu
subfolder : pretrained_model_name_or_path içindeki isteğe bağlı alt klasör
variant : pretrained_model_name_or_path içindeki isteğe bağlı varyant
revision : pretrained_model_name_or_path içinde isteğe bağlı revizyon
default_creation_method : Preferred creation method - "from_config" or "from_pretrained"
Bir pipeline bileşeni için spesifikasyon.
Bir bileşen iki şekilde oluşturulabilir:
1. Bir yapılandırma sözlüğüyle __init__ kullanarak sıfırdan
2. `from_pretrained` kullanılarak
#### oluştur[[diffusers.ComponentSpec.create]]
```python
create(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] | None = None, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L267)
Config ile from_config kullanarak bileşen oluşturun.
#### decode_load_id[[diffusers.ComponentSpec.decode_load_id]]
```python
decode_load_id(load_id: str)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L228)
**Parametreler:**
load_id : Çözümlenecek load_id dizesi, biçim: "pretrained_model_name_or_path|subfolder|variant|revision" burada None değerleri "null" olarak temsil edilir
**Dönüş:**
Yükleme alan adlarını değerlerine eşleyen sözlük. örn. { "pretrained_model_name_or_path": "path/to/repo", "subfolder": "subfolder", "variant": "variant", "revision": "revision" } Bir segment değeri "null" ise, None ile değiştirilir. `load` yöntemiyle oluşturulmamış bileşenleri belirtmek üzere load_id "null" ise None döndürülür.
Bir load_id dizesini, yükleme alanları ve değerlerinden oluşan bir sözlüğe geri çözümler.
#### from_component[[diffusers.ComponentSpec.from_component]]
```python
from_component(name: str, component: Any)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L149)
**Parametreler:**
name : Bileşenin adı
component : Spec oluşturulacak bileşen nesnesi
**Dönüş:**
ComponentSpec nesnesi
**Yükselen:** ``ValueError``
- ``ValueError`` -- Bileşen desteklenmiyorsa (ör. load_id'si olmayan nn.Module, non-ConfigMixin)
Bir Component'ten ComponentSpec oluşturun.
Şu anda desteklenenler:
- `ComponentSpec.load()` yöntemiyle oluşturulan bileşenler
- ConfigMixin alt sınıfları olan ancak nn.Module olmayan bileşenler (ör. zamanlayıcılar, yönlendiriciler)
#### load[[diffusers.ComponentSpec.load]]
```python
load(**kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L295)
Bileşeni from_pretrained kullanarak yükleyin.
#### loading_fields[[diffusers.ComponentSpec.loading_fields]]
```python
loading_fields()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L209)
Tüm yüklemeyle ilgili alanların adlarını döndürür (yani field.metadata["loading"] değeri True olanlar).
## ConfigSpec[[diffusers.ConfigSpec]]
#### diffusers.ConfigSpec[[diffusers.ConfigSpec]]
```python
diffusers.ConfigSpec(name: str, default: Any, description: str | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L360)
Bir pipeline yapılandırma parametresi için spesifikasyon.
## ComponentsManager[[diffusers.ComponentsManager]]
#### diffusers.ComponentsManager[[diffusers.ComponentsManager]]
```python
diffusers.ComponentsManager()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L296)
Birden çok iş akışında model bileşenleri için merkezi bir kayıt ve yönetim sistemi.
[ComponentsManager](/docs/diffusers/main/tr/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager), farklı modüler pipeline'lar arasında model bileşenlerinin (UNet, VAE, metin kodlayıcıları vb.) kaydedilmesini, izlenmesini ve yeniden kullanılmasını sağlayan birleşik bir yöntem sunar. Kopya algılama, bellek yönetimi ve bileşen organizasyonu gibi özellikleri içerir.
> [!WARNING] > Bu deneysel bir özelliktir ve gelecekte değişiklik gösterebilir.
Örnek:
```python
from diffusers import ComponentsManager
# Create a components manager
cm = ComponentsManager()
# Add components
cm.add("unet", unet_model, collection="sdxl")
cm.add("vae", vae_model, collection="sdxl")
# Enable auto offloading
cm.enable_auto_cpu_offload()
# Retrieve components
unet = cm.get_one(name="unet", collection="sdxl")
```
#### ekle[[diffusers.ComponentsManager.add]]
```python
add(name: str, component: Any, collection: str | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L393)
**Parametreler:**
name (str) : Bileşenin adı
component (Any) : Eklenecek bileşen
collection (str | None) : Bileşenin ekleneceği koleksiyon
**Dönüş:** `str`
"{name}_{id(component)}" biçiminde üretilen benzersiz bileşen kimliği; burada id(component), nesne için Python'un yerleşik benzersiz tanımlayıcısıdır
ComponentsManager'a bir bileşen ekleyin.
#### disable_auto_cpu_offload[[diffusers.ComponentsManager.disable_auto_cpu_offload]]
```python
disable_auto_cpu_offload()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L795)
Tüm bileşenler için otomatik CPU boşaltmayı devre dışı bırakın.
#### enable_auto_cpu_offload[[diffusers.ComponentsManager.enable_auto_cpu_offload]]
```python
enable_auto_cpu_offload(device: str | int | torch.device = None, memory_reserve_margin = '3GB', offload_strategy = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L701)
**Parametreler:**
device (str | int | torch.device) : İleri yönlü geçişler için modellerin taşındığı yürütme cihazı
memory_reserve_margin (str) : Kullanılacak bellek rezervi payı, varsayılan 3GB'dir. Bu, model çalıştırma sırasında bellek dolmasını önlemek için cihazda boş bırakılacak bellek miktarıdır (ör. ara aktivasyonlar, gradyanlar vb.).
offload_strategy : İmzası `(hooks, model_id, model, execution_device) -> hooks` olan ve yüklenmeden önce hangi yerleşik modellerin boşaltılacağını döndüren herhangi bir çağrılabilir. Varsayılan olarak, en küçük yeterli kombinasyonu serbest bırakan `AutoOffloadStrategy`'dir.
Tüm bileşenler için otomatik CPU dışa aktarmayı etkinleştirin.
Algoritma şu şekilde çalışır:
1. Tüm modeller varsayılan olarak CPU üzerinde başlar
2. Bir modelin ileri geçişi (forward pass) çağrıldığında, model çalışma cihazına taşınır
3. Yetersiz bellek durumunda, cihazdaki diğer modeller CPU'ya geri taşınır
4. Sistem, yeterli belleği serbest bırakacak en küçük model kombinasyonunu taşımaya çalışır
5. Modeller, başka bir modelin bellek ihtiyacı nedeniyle onları cihazdan çıkarması gerektiği durumlara kadar yürütme cihazında kalır
Bir grup offload edilen model bu işlemin parçası olur ancak kendisini konumlandırır: diğer modelleri bir kenara çekerek yer açabilir ve onlar için yer açmak üzere asla kendisi taşınmaz. Sıra fark etmez — grup offload, bu özelliğin etkinleştirilmesinden önce veya sonra yapılabilir. `AutoOffloadStrategy`, kararlarını model bellek ayak izlerinden boyutlandırır; bu ayak izleri bir modelin aynı anda bir grup tuttuğunu açıklamaz, bu nedenle kararları iş akışından veren bir `offload_strategy` geçin.
#### get_components_by_ids[[diffusers.ComponentsManager.get_components_by_ids]]
```python
get_components_by_ids(ids: list[str], return_dict_with_names: bool | None = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L1104)
**Parametreler:**
ids (list[str]) : bileşen kimlikleri listesi
return_dict_with_names (bool | None) : Bileşen adlarını anahtarlar olarak içeren bir sözlük döndürülüp döndürülmemesi:
**Dönüş:** dict[str, Any]
Bileşenler sözlüğü.
- return_dict_with_names=True ise, anahtarlar bileşen adlarıdır.
- return_dict_with_names=False ise, anahtarlar bileşen kimlikleridir.
**Yükselen:** ``ValueError``
- ``ValueError`` -- return_dict_with_names=True olduğunda arama sonuçlarında yinelenen bileşen adları bulunursa
Bir kimlik listesiyle bileşenleri alın.
#### get_components_by_names[[diffusers.ComponentsManager.get_components_by_names]]
```python
get_components_by_names(names: list[str], collection: str | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L1137)
**Parametreler:**
names (list[str]) : bileşen adlarının listesi
collection (str | None) : Filtrelemek için isteğe bağlı koleksiyon
**Dönüş:** dict[str, Any]
Bileşen adlarını anahtarlar olarak içeren bileşenler sözlüğü
**Yükselen:** ``ValueError``
- ``ValueError`` -- Arama sonuçlarında yinelenen bileşen adları bulunursa
İsteğe bağlı olarak koleksiyonla filtrelenmiş bir ad listesine göre bileşenleri alın.
#### get_ids[[diffusers.ComponentsManager.get_ids]]
```python
get_ids(names: str | list[str] = None, collection: str | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L1086)
**Parametreler:**
names (str | list[str]) : bileşen adlarının listesi
collection (str | None) : Filtrelemek için isteğe bağlı koleksiyon
**Dönüş:** list[str]
bileşen kimlikleri listesi
İsteğe bağlı olarak koleksiyonla filtrelenmiş bir ad listesine göre bileşen kimliklerini alın.
#### get_model_info[[diffusers.ComponentsManager.get_model_info]]
```python
get_model_info(component_id: str, fields: str | list[str] | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L812)
**Parametreler:**
component_id (str) : Bilgi alınacak bileşenin adı
fields (str | list[str] | None) : Dönülecek alan(lar). Tek bir alan için bir dize veya alanların bir listesi olabilir. None ise, available_info_fields ayarını kullanır.
**Dönüş:**
İstenen bileşen meta verilerini içeren sözlük. fields belirtildiyse yalnızca bu alanları döndürür. Aksi takdirde tüm alanları döndürür.
Bir bileşen hakkında kapsamlı bilgi alın.
#### get_one[[diffusers.ComponentsManager.get_one]]
```python
get_one(component_id: str | None = None, name: str | None = None, collection: str | None = None, load_id: str | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L1041)
**Parametreler:**
component_id (str | None) : Alınacak isteğe bağlı bileşen kimliği
name (str | None) : Bileşen adı veya deseni
collection (str | None) : Filtrelemek için isteğe bağlı koleksiyon
load_id (str | None) : Filtrelemek için isteğe bağlı load_id
**Dönüş:**
Tek bir bileşen
**Yükselen:** ``ValueError``
- ``ValueError`` -- Hiçbir bileşen eşleşmezse veya birden fazla bileşen eşleşirse
Aşağıdaki yöntemlerden biriyle tek bir bileşeni alın:
- arama adı (desen eşleştirme), koleksiyon veya load_id.
- passing in a component_id
Birden fazla bileşen eşleşirse veya hiç bileşen bulunamazsa bir hata yükseltilir.
#### kaldır[[diffusers.ComponentsManager.remove]]
```python
remove(component_id: str = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L485)
**Parametreler:**
component_id (str) : Kaldırılacak bileşenin kimliği
ComponentsManager'dan bir bileşeni kaldırır.
#### remove_from_collection[[diffusers.ComponentsManager.remove_from_collection]]
```python
remove_from_collection(component_id: str, collection: str)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L467)
Bir bileşeni koleksiyondan kaldırın.
#### search_components[[diffusers.ComponentsManager.search_components]]
```python
search_components(names: str | None = None, collection: str | None = None, load_id: str | None = None, return_dict_with_names: bool = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L515)
**Parametreler:**
names : Bileşen adı veya desenleri Desenler: - "unet" : temel adı "unet" olan herhangi bir bileşeni eşleştirir (ör. unet_123abc) - "!unet" : temel adı "unet" olan bileşenler hariç her şey - "unet*" : temel adı "unet" ile başlayan her şey - "!unet*" : temel adı "unet" ile başlamayan her şey - "*unet*" : temel adı "unet" içeren her şey - "!*unet*" : temel adı "unet" içermeyen her şey - "refiner|vae|unet" : temel adı tam olarak "refiner", "vae" veya "unet" ile eşleşen her şey - "!refiner|vae|unet" : temel adı tam olarak "refiner", "vae" veya "unet" ile eşleşmeyen her şey - "unet*|vae*" : temel adı "unet" ile başlayan VEYA "vae" ile başlayan her şey
collection : Filtrelemek için isteğe bağlı koleksiyon
load_id : Filtrelemek için isteğe bağlı load_id
return_dict_with_names : True ise, anahtarlar olarak bileşen adlarını içeren bir sözlük döndürülür; aynı ada sahip birden fazla bileşen bulunursa hata fırlatılır. False ise, anahtarlar olarak bileşen kimliklerini içeren bir sözlük döndürülür.
**Dönüş:**
return_dict_with_names=True ise bileşen adlarını bileşenlere eşleyen, return_dict_with_names=False ise bileşen kimliklerini bileşenlere eşleyen bir sözlük
Adlarına göre basit desen eşleştirme ile bileşenleri arayın. İsteğe bağlı olarak koleksiyona veya load_id'ye göre filtreleyin.
#### set_offload_strategy[[diffusers.ComponentsManager.set_offload_strategy]]
```python
set_offload_strategy(offload_strategy)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/components_manager.py#L779)
**Parametreler:**
offload_strategy : İmzası `(hooks, model_id, model, execution_device) -> hooks` olan herhangi bir çağrılabilir: Cihazda bulunan modellerin hook'larını alır ve gelen model yüklenmeden önce offload edilecek olanları döndürür. Varsayılan, en küçük yeterli kombinasyonu serbest bırakan `AutoOffloadStrategy`'dir.
Tüm yönetilen modellerdeki offload stratejisini değiştirir. Yalnızca otomatik CPU offloading etkinleştirildiğinde geçerlidir.
## InsertableDict[[diffusers.modular_pipelines.InsertableDict]]
#### diffusers.modular_pipelines.InsertableDict[[diffusers.modular_pipelines.InsertableDict]]
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline_utils.py#L60)

Xet Storage Details

Size:
16.2 kB
·
Xet hash:
4c5abe92f779f3b6690980d8e262a6c125c87a24cb52f46e867d5dfb7ccba139

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