Buckets:
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)
Parameter:
blocks : ModularPipelineBlocks, blok yang akan digunakan dalam pipeline
Kelas dasar untuk semua pipeline Modular.
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)
Parameter:
pretrained_model_name_or_path (str atau os.PathLike, opsional) : Path ke konfigurasi pipeline pretrained. Sistem akan pertama kali mencoba memuat config dari modular_model_index.json, lalu fallback ke model_index.json untuk kompatibilitas dengan repositori non-modular standar. Jika pretrained_model_name_or_path tidak mengandung konfigurasi pipeline apa pun, nilainya akan diset ke None selama inisialisasi.
trust_remote_code (bool, opsional) : Apakah kode jarak jauh akan dipercaya saat memuat pipeline, perlu diatur ke True jika Anda ingin membuat blok pipeline berdasarkan kode kustom di pretrained_model_name_or_path
components_manager (ComponentsManager, opsional) : instance ComponentsManager untuk mengelola beberapa komponen lintas pipeline yang berbeda dan menerapkan strategi offloading.
collection (str, opsional) --` Nama koleksi untuk mengorganisasi komponen di dalam ComponentsManager.
workflow (str, opsional) : Nama workflow yang dideklarasikan oleh blok pipeline. Jika diberikan, blok-blok akan dipangkas menjadi blok eksekusi workflow tersebut, sehingga pipeline hanya mengharapkan — dan load_components() hanya memuat — komponen yang digunakan oleh workflow tersebut.
Muat ModularPipeline dari repositori huggingface hub.
get_component_spec[[diffusers.ModularPipeline.get_component_spec]]
get_component_spec(name: str)
Mengembalikan:
- salinan objek ComponentSpec untuk nama komponen yang diberikan
load_components[[diffusers.ModularPipeline.load_components]]
load_components(names: list[str] | str | None = None, workflow: str | None = None, **kwargs)
Parameter:
names : daftar nama komponen yang akan dimuat. Jika None, akan memuat semua komponen dengan default_creation_method == "from_pretrained". Jika diberikan sebagai daftar atau string, hanya komponen yang ditentukan yang akan dimuat.
workflow : nama workflow yang dideklarasikan oleh blok pipeline. Jika diberikan, hanya komponen yang digunakan oleh blok eksekusi workflow tersebut yang dimuat. Tidak dapat digabungkan dengan names.
- **kwargs : kwargs tambahan yang akan diteruskan ke
from_pretrained(). Dapat berupa: - nilai tunggal yang diterapkan ke semua komponen yang akan dimuat, mis. dtype=torch.bfloat16 - dict, mis. dtype={"unet": torch.bfloat16, "default": torch.float32} - jika berpotensi menimpa ComponentSpec jika field pemuatan yang berbeda diteruskan dalam kwargs, mis.pretrained_model_name_or_path,variant,revision, dll. - jika berpotensi menimpa ComponentSpec jika field pemuatan yang berbeda diteruskan dalam kwargs, mis.pretrained_model_name_or_path,variant,revision, dll.
Muat komponen yang dipilih dari spesifikasi.
register_components[[diffusers.ModularPipeline.register_components]]
register_components(**kwargs)
Parameter:
- **kwargs : Argumen kata kunci di mana kuncinya adalah nama komponen dan nilainya adalah objek komponen. Contoh: register_components(unet=unet_model, text_encoder=encoder_model)
Daftarkan komponen dengan spesifikasi yang sesuai.
Metode ini bertanggung jawab untuk:
- Menetapkan objek komponen sebagai atribut pada loader (misalnya, self.unet = unet)
- Memperbarui dict config, yang akan disimpan sebagai
modular_model_index.jsonselamasave_pretrained(hanya untuk komponen from_pretrained) - Menambahkan komponen ke manajer komponen jika ada yang terpasang (hanya untuk komponen from_pretrained)
Metode ini dipanggil ketika:
- Komponen pertama kali diinisialisasi di init:
- komponen from_pretrained tidak dimuat selama init sehingga didaftarkan sebagai None;
- non from_pretrained dibuat selama init dan didaftarkan sebagai objek itu sendiri
- Komponen diperbarui dengan metode
update_components(): misalnya loader.update_components(unet=unet) atau loader.update_components(guider=guider_spec) - (from_pretrained) Komponen dimuat dengan metode
load_components(): misalnya loader.load_components(names=["unet"]) atau loader.load_components() untuk memuat semua komponen default
Catatan:
- Saat mendaftarkan None untuk sebuah komponen, atribut diset ke None tetapi spesifikasi tetap disinkronkan dengan dict konfigurasi, yang akan disimpan sebagai
modular_model_index.jsonselamasave_pretrained - component_specs diperbarui agar sesuai dengan komponen baru di luar metode ini, misalnya pada metode
update_components()
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)
Parameter:
save_directory (str atau os.PathLike) : Direktori untuk menyimpan pipeline. Akan dibuat jika belum ada.
safe_serialization (bool, opsional, defaultnya True) : Apakah model disimpan menggunakan safetensors atau cara tradisional PyTorch dengan pickle.
variant (str, opsional) : Jika ditentukan, bobot disimpan dalam format pytorch_model.<variant>.bin.
max_shard_size (int atau str, defaultnya None) : Ukuran maksimum untuk checkpoint sebelum di-shard. Checkpoint yang di-shard kemudian akan masing-masing berukuran lebih kecil dari ukuran ini. Jika dinyatakan sebagai string, harus berupa angka diikuti oleh satuan (seperti "5GB"). Jika dinyatakan sebagai integer, satuannya adalah byte.
push_to_hub (bool, opsional, defaultnya False) : Apakah akan mendorong pipeline ke Hugging Face model hub setelah menyimpannya.
- **kwargs : Argumen kata kunci tambahan: -
overwrite_modular_index(bool, opsional, defaultTrue): Apakah akan memperbaruimodular_model_index.jsonsehingga spesifikasi pemuatan setiap komponen yang disimpan menunjuk ke tujuan:repo_idsaat mendorong ke Hub, selain itusave_directory. Komponen yang tidak dimuat tidak disimpan dan selalu mempertahankan spesifikasi pemuatan yang tercatat. BerikanFalseuntuk juga mempertahankan spesifikasi yang tercatat dari komponen yang sedang disimpan (misalnya untuk indeks yang sengaja merujuk ke repositori lain); komponen tanpa id pemuatan (seperti model kustom yang ditambahkan denganupdate_components) tetap ditulis ulang karena tidak memiliki sumber yang tercatat. -repo_id(str, opsional): ID repositori untuk mendorong pipeline ke sana. Default ke komponen terakhir darisave_directory. -commit_message(str, opsional): Pesan commit untuk operasi dorong ke hub. -private(bool, opsional): Apakah repositori harus bersifat privat. -create_pr(bool, opsional, defaultFalse): Apakah akan membuat pull request alih-alih mendorong secara langsung. -token(str, opsional): Token Hugging Face yang akan digunakan untuk autentikasi.
Simpan pipeline dan semua komponennya ke sebuah direktori, sehingga dapat dimuat ulang menggunakan metode kelas from_pretrained().
ke[[diffusers.ModularPipeline.to]]
to(*args, **kwargs)
Parameter:
dtype (torch.dtype, opsional) : Mengembalikan pipeline dengan dtype yang ditentukan
device (torch.Device, opsional) : Mengembalikan pipeline dengan device yang ditentukan
silence_dtype_warnings (str, opsional, defaultnya False) : Apakah akan mengabaikan peringatan jika dtype target tidak kompatibel dengan device target.
Mengembalikan: DiffusionPipeline
Pipeline dikonversi ke dtype dan/atau dtype yang ditentukan.
Melakukan konversi dtype dan/atau perangkat Pipeline. Sebuah torch.dtype dan torch.device disimpulkan dari argumen self.to(*args, **kwargs).
> Jika pipeline sudah memiliki torch.dtype dan torch.device yang benar, maka pipeline tersebut dikembalikan apa adanya. Jika tidak, > pipeline yang dikembalikan adalah salinan dari self dengan torch.dtype dan torch.device yang diinginkan.
Berikut adalah cara untuk memanggil to:
to(dtype, silence_dtype_warnings=False) → DiffusionPipelineuntuk mengembalikan pipeline dengandtypeyang ditentukanto(device, silence_dtype_warnings=False) → DiffusionPipelineuntuk mengembalikan pipeline dengandeviceyang ditentukanto(device=None, dtype=None, silence_dtype_warnings=False) → DiffusionPipelineuntuk mengembalikan pipeline dengandevicedandtypeyang ditentukan
unload_components[[diffusers.ModularPipeline.unload_components]]
unload_components(names: list[str] | str)
Parameter:
names : nama komponen atau daftar nama komponen untuk dimuat ulang.
Muat turun komponen yang dipilih, membebaskan memori mereka.
Atribut komponen diatur kembali ke None dan, jika ComponentsManager terlampir, komponen dihapus darinya. Spesifikasi komponen tidak diubah, sehingga komponen dapat dimuat kembali nanti dengan load_components().
update_components[[diffusers.ModularPipeline.update_components]]
update_components(**kwargs)
Parameter:
- **kwargs : Objek komponen atau nilai konfigurasi untuk diperbarui: - Objek komponen: Model yang dimuat dengan
AutoModel.from_pretrained()atauComponentSpec.load()secara otomatis diberi tag dengan informasi pemuatan. Objek ConfigMixin tanpa bobot (misalnya, scheduler, guider) dapat diteruskan secara langsung. - Nilai konfigurasi: Nilai sederhana untuk memperbarui pengaturan konfigurasi (misalnya,requires_safety_checker=False)
Perbarui komponen dan nilai konfigurasi serta spesifikasi setelah pipeline diinstansiasi.
Metode ini memungkinkan Anda untuk:
- Ganti komponen yang ada dengan yang baru (misalnya, memperbarui
self.unetatauself.text_encoder) - Perbarui nilai konfigurasi (misalnya, mengubah flag
self.requires_safety_checker)
Selain memperbarui komponen dan nilai konfigurasi sebagai atribut pipeline, metode ini juga memperbarui:
- spesifikasi yang sesuai di
_component_specsdan_config_specs - dict
config, yang akan disimpan sebagaimodular_model_index.jsonselamasave_pretrained
Contoh:
# 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)
Catatan:
- Komponen yang dimuat dengan
AutoModel.from_pretrained()atauComponentSpec.load()akan memiliki spesifikasi yang dimuat dipertahankan untuk serialisasi. Komponen kustom atau yang dimuat secara lokal tanpa referensi Hub akan memiliki entrimodular_model_index.jsonyang diperbarui secara otomatis selamasave_pretrained(). - Objek ConfigMixin tanpa bobot (misalnya, scheduler, guider) dapat diteruskan secara langsung.
Xet Storage Details
- Size:
- 13.4 kB
- Xet hash:
- a191a0e4486a73f7863b6ebed685dd26e5cdc1bd0a259e5d2b0d3b066cda5f6e
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.