Buckets:
| # States | |
| Blocks bergantung pada struktur data [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) dan [BlockState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.BlockState) untuk berkomunikasi dan berbagi data. | |
| | Status | Deskripsi | | |
| |-------|-------------| | |
| | [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) | Menjaga keseluruhan data yang diperlukan untuk eksekusi pipeline dan memungkinkan blok untuk membaca serta memperbarui datanya. | | |
| | [BlockState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.BlockState) | Memungkinkan setiap blok untuk melakukan komputasinya dengan data yang diperlukan dari `inputs`| | |
| Panduan ini menjelaskan cara kerja state dan bagaimana state menghubungkan blok. | |
| ## PipelineState | |
| [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) adalah wadah status global untuk semua blok. Status ini mempertahankan status runtime lengkap dari pipeline dan menyediakan cara terstruktur bagi blok untuk membaca dan menulis ke data bersama. | |
| [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) menyimpan semua data dalam dict `values`, yaitu keadaan **mutable** yang berisi nilai input yang diberikan pengguna dan nilai output antara yang dihasilkan oleh blok. Jika sebuah blok memodifikasi `input`, perubahan tersebut akan tercermin dalam dict `values` setelah memanggil `set_block_state`. | |
| ```py | |
| PipelineState( | |
| values={ | |
| 'prompt': 'a cat' | |
| 'guidance_scale': 7.0 | |
| 'num_inference_steps': 25 | |
| 'prompt_embeds': Tensor(dtype=torch.float32, shape=torch.Size([1, 1, 1, 1])) | |
| 'negative_prompt_embeds': None | |
| }, | |
| ) | |
| ``` | |
| ## BlockState | |
| [BlockState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.BlockState) adalah tampilan lokal dari variabel-variabel relevan yang dibutuhkan oleh sebuah blok individu dari [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) untuk melakukan komputasinya. | |
| Akses variabel-variabel ini secara langsung sebagai atribut seperti `block_state.image`. | |
| ```py | |
| BlockState( | |
| image: <PIL.Image.Image image mode=RGB size=512x512 at 0x7F3ECC494640> | |
| ) | |
| ``` | |
| Ketika metode `__call__` dari sebuah blok dieksekusi, blok tersebut mengambil `BlockState` dengan `self.get_block_state(state)`, melakukan operasinya, dan memperbarui [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) dengan `self.set_block_state(state, block_state)`. | |
| ```py | |
| def __call__(self, components, state): | |
| # retrieve BlockState | |
| block_state = self.get_block_state(state) | |
| # computation logic on inputs | |
| # update PipelineState | |
| self.set_block_state(state, block_state) | |
| return components, state | |
| ``` | |
| ## Interaksi state | |
| Interaksi antara [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) dan [BlockState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.BlockState) didefinisikan oleh `inputs` dan `intermediate_outputs` dari sebuah blok. | |
| - `inputs`, sebuah blok dapat memodifikasi input - seperti `block_state.image` - dan perubahan ini dapat disebarkan secara global ke [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) dengan memanggil `set_block_state`. | |
| - `intermediate_outputs` adalah variabel baru yang dibuat oleh sebuah blok. Variabel ini ditambahkan ke dict `values` dari [PipelineState](/docs/diffusers/v0.43.0/id/api/modular_diffusers/pipeline_states#diffusers.modular_pipelines.PipelineState) dan tersedia untuk blok-blok berikutnya atau diakses oleh pengguna sebagai output akhir dari pipeline. | |
Xet Storage Details
- Size:
- 4.12 kB
- Xet hash:
- ec7ad21ab2605eda5395495cc1714f4f3a842a3a0d653f47835e2967d83503d2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.