Buckets:

mishig's picture
|
download
raw
14.1 kB

Pipeline

ModularPipeline[[diffusers.ModularPipeline]]

diffusers.ModularPipeline[[diffusers.ModularPipeline]]

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

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

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

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

get_component_spec(name: str)

Kaynak

Dönüş:

  • belirtilen bileşen adı için ComponentSpec nesnesinin bir kopyası

load_components[[diffusers.ModularPipeline.load_components]]

load_components(names: list[str] | str | None = None, workflow: str | None = None, **kwargs)

Kaynak

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

register_components(**kwargs)

Kaynak

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

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

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() sınıf yöntemiyle yeniden yüklenebilmesi için bir dizine kaydedin.

'e[[diffusers.ModularPipeline.to]]

to(*args, **kwargs)

Kaynak

Parametreler:

dtype (torch.dtype, isteğe bağlı) : Belirtilen dtype ile bir pipeline döndürür

device (torch.Device, isteğe bağlı) : Belirtilen 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

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).

> 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 ile bir pipeline döndürmek için to(dtype, silence_dtype_warnings=False) → DiffusionPipeline
  • Belirtilen device ile bir pipeline döndürmek için to(device, silence_dtype_warnings=False) → DiffusionPipeline
  • Belirtilen device ve 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]]

unload_components(names: list[str] | str)

Kaynak

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

update_components(**kwargs)

Kaynak

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:

# 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.