Buckets:
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)
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:
- Bir yapılandırma sözlüğüyle init kullanarak sıfırdan
from_pretrainedkullanılarak
oluştur[[diffusers.ComponentSpec.create]]
create(config: diffusers.configuration_utils.FrozenDict | dict[str, typing.Any] | None = None, **kwargs)
Config ile from_config kullanarak bileşen oluşturun.
decode_load_id[[diffusers.ComponentSpec.decode_load_id]]
decode_load_id(load_id: str)
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)
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)
Bileşeni from_pretrained kullanarak yükleyin.
loading_fields[[diffusers.ComponentSpec.loading_fields]]
loading_fields()
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)
Bir pipeline yapılandırma parametresi için spesifikasyon.
ComponentsManager[[diffusers.ComponentsManager]]
diffusers.ComponentsManager[[diffusers.ComponentsManager]]
diffusers.ComponentsManager()
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)
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()
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)
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:
- Tüm modeller varsayılan olarak CPU üzerinde başlar
- Bir modelin ileri geçişi (forward pass) çağrıldığında, model çalışma cihazına taşınır
- Yetersiz bellek durumunda, cihazdaki diğer modeller CPU'ya geri taşınır
- Sistem, yeterli belleği serbest bırakacak en küçük model kombinasyonunu taşımaya çalışır
- 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)
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)
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)
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)
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)
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)
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)
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)
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)
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]]
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.