Diffusers documentation

Berasal dari DiffusionPipeline

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Berasal dari DiffusionPipeline

Jika Anda sudah familiar dengan DiffusionPipeline dan baru pertama kali bekerja dengan ModularPipeline, ada beberapa hal yang bekerja dengan cara berbeda. Hal-hal tersebut diuraikan di sini agar Anda memahaminya sebelum mengikuti quickstart.

  • Pemmuatan bersifat lambat dan fleksibel. from_pretrained() membangun pipeline dari modular_model_index.json repositori tanpa memuat bobot apa pun. load_components() kemudian memuat komponen-komponen tersebut, dan tidak harus sekaligus: secara default memuat semuanya, tetapi Anda dapat memuat hanya komponen yang Anda sebutkan dengan names, atau set yang dibutuhkan satu alur kerja dengan workflow. update_components() memungkinkan Anda menggunakan kembali komponen yang sudah Anda miliki, atau komponen yang berbeda dari spesifikasi repositori. Lihat Pemmuatan komponen dan Pembaruan komponen.
  • ModularPipeline membaca indeks yang berbeda, modular_model_index.json, tetapi juga berfungsi dengan repositori yang hanya memiliki model_index.json, selama model tersebut memiliki modular pipeline. Kebalikannya tidak berlaku: DiffusionPipeline dan kelas AutoPipeline tidak berfungsi dengan repositori yang hanya memiliki modular_model_index.json.
  • Panggilan mengembalikan status pipeline, yang juga menyimpan nilai-nilai antara (prompt_embeds, latents, …). Minta apa yang Anda butuhkan dengan argumen output, output="images" atau output=["images", "latents"], atau baca atribut dari status, seperti pada quickstart. Lihat States.
  • Classifier-free guidance didukung di komponen guider, bukan sebagai argumen pemanggilan guidance_scale: pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). Lihat panduan guiders.
  • Tidak ada callback_on_step_end; namun, Anda dapat menyisipkan blok ke dalam loop denoising untuk menggunakan fungsi callback yang sudah ada. Lihat Pipelines modular di panduan callback.
  • Pipeline adalah graf dari blok-blok yang dapat Anda ubah (pop, insert, replace) sebelum membangunnya dengan init_pipeline(); pipe.blocks mengembalikan salinan, jadi ubah blok-bloknya terlebih dahulu. Lihat Mengomposisi workflow baru.
  • Offloading ditangani oleh ComponentsManager, yang dapat melayani beberapa pipeline yang berbagi komponen. Lihat panduan ComponentsManager.
Update on GitHub