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]]

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

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]]

create(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] | None = None, **kwargs)

Kaynak

Config ile from_config kullanarak bileşen oluşturun.

decode_load_id[[diffusers.ComponentSpec.decode_load_id]]

decode_load_id(load_id: str)

Kaynak

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]]

from_component(name: str, component: Any)

Kaynak

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]]

load(**kwargs)

Kaynak

Bileşeni from_pretrained kullanarak yükleyin.

loading_fields[[diffusers.ComponentSpec.loading_fields]]

loading_fields()

Kaynak

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]]

diffusers.ConfigSpec(name: str, default: Any, description: str | None = None)

Kaynak

Bir pipeline yapılandırma parametresi için spesifikasyon.

ComponentsManager[[diffusers.ComponentsManager]]

diffusers.ComponentsManager[[diffusers.ComponentsManager]]

diffusers.ComponentsManager()

Kaynak

Birden çok iş akışında model bileşenleri için merkezi bir kayıt ve yönetim sistemi.

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.

> Bu deneysel bir özelliktir ve gelecekte değişiklik gösterebilir.

Örnek:

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]]

add(name: str, component: Any, collection: str | None = None)

Kaynak

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]]

disable_auto_cpu_offload()

Kaynak

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]]

enable_auto_cpu_offload(device: str | int | torch.device = None, memory_reserve_margin = '3GB', offload_strategy = None)

Kaynak

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]]

get_components_by_ids(ids: list[str], return_dict_with_names: bool | None = True)

Kaynak

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]]

get_components_by_names(names: list[str], collection: str | None = None)

Kaynak

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]]

get_ids(names: str | list[str] = None, collection: str | None = None)

Kaynak

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]]

get_model_info(component_id: str, fields: str | list[str] | None = None)

Kaynak

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]]

get_one(component_id: str | None = None, name: str | None = None, collection: str | None = None, load_id: str | None = None)

Kaynak

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]]

remove(component_id: str = None)

Kaynak

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]]

remove_from_collection(component_id: str, collection: str)

Kaynak

Bir bileşeni koleksiyondan kaldırın.

search_components[[diffusers.ComponentsManager.search_components]]

search_components(names: str | None = None, collection: str | None = None, load_id: str | None = None, return_dict_with_names: bool = True)

Kaynak

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]]

set_offload_strategy(offload_strategy)

Kaynak

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

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.