Buckets:
Blok Pipeline
ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks()
Kelas dasar untuk semua Blok Pipeline: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks
ModularPipelineBlocks menyediakan metode untuk memuat dan menyimpan definisi blok pipeline.
get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]
get_block_state(state: PipelineState)
Dapatkan semua input dan intermediat dalam satu kamus
get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parameter:
- **kwargs : Nama dan nilai input. Hanya input pemicu yang memengaruhi pemilihan blok.
Dapatkan blok yang akan dieksekusi berdasarkan input yang diberikan. Harus diimplementasikan oleh subkelas yang mendukung pemilihan blok kondisional.
get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]
get_workflow(workflow_name: str)
Parameter:
workflow_name : Nama workflow yang akan diambil.
Dapatkan blok eksekusi untuk workflow tertentu. Harus diimplementasikan oleh subkelas yang mendefinisikan _workflow_map.
init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]
init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)
buat ModularPipeline, secara opsional terima pretrained_model_name_or_path untuk memuat dari hub.
SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks()
Parameter:
block_classes : daftar kelas blok yang akan digunakan
block_names : daftar prefiks untuk setiap blok
A Pipeline Blocks yang menggabungkan beberapa kelas pipeline block menjadi satu. Saat dipanggil, blok ini akan memanggil setiap blok secara berurutan.
Kelas ini mewarisi dari ModularPipelineBlocks. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua blok pipeline (seperti memuat atau menyimpan, dll.)
from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)
Parameter:
blocks_dict : Dictionary yang memetakan nama blok ke kelas atau instance blok
Mengembalikan:
Instans baru SequentialPipelineBlocks
Membuat instance SequentialPipelineBlocks dari kamus blok.
get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parameter:
- **kwargs : Nama dan nilai input. Hanya input pemicu yang memengaruhi pemilihan blok.
Mengembalikan:
SequentialPipelineBlocks yang hanya berisi blok-blok yang akan dieksekusi
Dapatkan blok yang akan dieksekusi berdasarkan input yang ditentukan.
Saat traversal berjalan melalui blok-blok berurutan, output antara dari blok yang telah dipecahkan ditambahkan ke input aktif. Artinya, blok kondisional yang bergantung pada nilai antara (misalnya, "jalankan img2img jika image_latents ada") akan dipecahkan dengan benar, selama kondisinya didasarkan pada keberadaan/keberadaan (None atau bukan None), bukan pada nilai aktualnya.
LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks()
Parameter:
block_classes : daftar kelas blok yang akan digunakan
block_names : daftar prefiks untuk setiap blok
A Pipeline blocks yang menggabungkan beberapa kelas pipeline block menjadi For Loop. Saat dipanggil, blok ini akan memanggil setiap blok secara berurutan.
Kelas ini mewarisi dari ModularPipelineBlocks. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua blok pipeline (seperti memuat atau menyimpan, dll.)
from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any])
Parameter:
blocks_dict : Dictionary yang memetakan nama blok ke instance blok
Mengembalikan:
Instans baru LoopSequentialPipelineBlocks
Membuat instance LoopSequentialPipelineBlocks dari kamus blok.
AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks()
Parameter:
block_classes : Daftar kelas blok yang akan digunakan. Harus memiliki panjang yang sama dengan block_names dan block_trigger_inputs.
block_names : Daftar nama untuk setiap blok. Harus memiliki panjang yang sama dengan block_classes dan block_trigger_inputs.
block_trigger_inputs : Daftar nama input di mana setiap elemen menentukan input pemicu untuk blok yang sesuai. Gunakan None untuk menandai blok default.
A Pipeline Blocks yang secara otomatis memilih blok untuk dijalankan berdasarkan keberadaan input pemicu.
Ini adalah versi khusus dari ConditionalPipelineBlocks di mana:
- Setiap blok memiliki satu input pemicu yang sesuai (pemetaan 1:1)
- Pemilihan blok bersifat otomatis: blok pertama yang input pemicunya ada akan dipilih
block_trigger_inputsharus memiliki panjang yang sama denganblock_namesdanblock_classes- Gunakan
Nonediblock_trigger_inputsuntuk menentukan blok default, yaitu blok yang akan dijalankan jika tidak ada input pemicu
Contoh:
class MyAutoBlock(AutoPipelineBlocks):
block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
block_names = ["inpaint", "img2img", "text2img"]
block_trigger_inputs = ["mask_image", "image", None] # text2img is the default
Dengan definisi ini:
- Selama
mask_imagedisediakan, blok "inpaint" akan dijalankan (terlepas dari apakahimagedisediakan atau tidak) - Jika
mask_imagetidak diberikan tetapiimagediberikan, blok "img2img" dijalankan - Jika tidak, blok "text2img" dijalankan (default, pemicunya adalah
None)
select_block[[diffusers.AutoPipelineBlocks.select_block]]
select_block(**kwargs)
Pilih blok berdasarkan input pemicu mana yang ada (bukan None).
ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks()
Parameter:
block_classes : Daftar kelas blok yang akan digunakan. Harus memiliki panjang yang sama dengan block_names.
block_names : Daftar nama untuk setiap blok. Harus memiliki panjang yang sama dengan block_classes.
block_trigger_inputs : Daftar nama input yang digunakan oleh select_block() untuk menentukan blok mana yang akan dijalankan. Untuk ConditionalPipelineBlocks, ini tidak perlu sesuai dengan block_names dan block_classes. Untuk AutoPipelineBlocks, ini harus memiliki panjang yang sama dengan block_names dan block_classes, di mana setiap elemen menentukan input pemicu untuk blok yang sesuai.
default_block_name : Nama blok default yang dijalankan ketika tidak ada input pemicu yang cocok. Jika None, blok ini dapat dilewati sepenuhnya ketika tidak ada input pemicu yang diberikan.
A Pipeline Blocks yang memilih secara kondisional blok untuk dijalankan berdasarkan input. Subclass harus mengimplementasikan metode select_block untuk mendefinisikan logika pemilihan blok. Saat ini, kami hanya mendukung logika pemilihan berdasarkan ada atau tidaknya input (yaitu, apakah nilainya None atau tidak).
Kelas ini mewarisi dari ModularPipelineBlocks. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua blok pipeline (seperti memuat atau menyimpan, dll.)
get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Parameter:
- **kwargs : Nama dan nilai input. Hanya input pemicu yang memengaruhi pemilihan blok.
Mengembalikan: - ModularPipelineBlocks
Blok daun atau SequentialPipelineBlocks yang telah diselesaikan
None: Jika blok ini akan dilewati (tidak ada pemicu yang cocok dan tidak ada default)
Dapatkan blok yang akan dieksekusi berdasarkan input yang diberikan.
Menyelesaikan blok ConditionalPipelineBlocks yang bersarang secara rekursif hingga mencapai salah satu dari:
- Blok daun (tanpa sub_blocks atau LoopSequentialPipelineBlocks) → mengembalikan satu
ModularPipelineBlocks - A
SequentialPipelineBlocks→ mendelegasikan keget_execution_blocks()yang mengembalikan aSequentialPipelineBlocksyang berisi blok eksekusi yang telah dipecah
select_block[[diffusers.ConditionalPipelineBlocks.select_block]]
select_block(**kwargs)
Parameter:
- **kwargs : Nama input pemicu dan nilai-nilainya dari state.
Mengembalikan: str | None
Nama blok yang akan dijalankan, atau None untuk menggunakan default/melompati.
Pilih blok yang akan dijalankan berdasarkan input pemicu. Subkelas harus mengimplementasikan metode ini untuk mendefinisikan logika pemilihan blok.
Catatan: Ketika input pemicu mencakup output antara dari blok sebelumnya, logika seleksi harus hanya bergantung pada ada atau tidaknya input (yaitu, apakah nilainya None atau bukan), bukan pada nilai aktualnya. Hal ini karena get_execution_blocks() menyelesaikan kondisi secara statis dengan mempropagasi nama output antara tanpa nilai runtime-nya.
Xet Storage Details
- Size:
- 12 kB
- Xet hash:
- 5d3a51b33fb3d4e3b4f8a7f3d62af8fa2f9186f76ecb1193bdd54289023f571a
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.