Buckets:
| # Pipeline 블록 | |
| ## ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]] | |
| #### diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]] | |
| ```python | |
| diffusers.ModularPipelineBlocks() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L391) | |
| 모든 Pipeline Blocks의 기본 클래스: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks | |
| [ModularPipelineBlocks](/docs/diffusers/main/ko/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks)는 파이프라인 블록의 정의를 로드하고 저장하는 메서드를 제공합니다. | |
| #### get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]] | |
| ```python | |
| get_block_state(state: PipelineState) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L589) | |
| 모든 입력과 중간 결과를 하나의 사전으로 가져오기 | |
| #### get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L460) | |
| **매개변수:** | |
| - ****kwargs** : 입력 이름과 값. 블록 선택에는 트리거 입력만 영향을 줍니다. | |
| 입력에 따라 실행될 블록을 가져옵니다. 조건부 블록 선택을 지원하는 하위 클래스에서 구현해야 합니다. | |
| #### get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]] | |
| ```python | |
| get_workflow(workflow_name: str) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L478) | |
| **매개변수:** | |
| workflow_name : 가져올 워크플로 이름. | |
| `_workflow_map`를 정의하는 하위 클래스에서 구현해야 합니다. 특정 워크플로우의 실행 블록을 가져옵니다. | |
| #### init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]] | |
| ```python | |
| 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) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L567) | |
| ModularPipeline를 생성하고, 필요에 따라 pretrained_model_name_or_path를 받아 hub에서 로드합니다. | |
| ## SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]] | |
| #### diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]] | |
| ```python | |
| diffusers.SequentialPipelineBlocks() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1041) | |
| **매개변수:** | |
| block_classes : 사용할 블록 클래스 목록 | |
| block_names : 각 블록에 대한 접두사 목록 | |
| 여러 pipeline block 클래스를 하나로 결합하는 Pipeline Blocks입니다. 호출되면 각 블록을 순서대로 호출합니다. | |
| 이 클래스는 [ModularPipelineBlocks](/docs/diffusers/main/ko/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks)에서 상속됩니다. 라이브러리가 모든 파이프라인 블록에 대해 구현하는 일반적 메서드(로드, 저장 등)에 대해서는 상위 클래스 문서를 확인하세요. | |
| #### from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]] | |
| ```python | |
| from_blocks_dict(blocks_dict: dict, description: str | None = None) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1113) | |
| **매개변수:** | |
| blocks_dict : 블록 이름을 블록 클래스 또는 인스턴스로 매핑하는 사전 | |
| **반환값:** | |
| 새로운 SequentialPipelineBlocks 인스턴스 | |
| 블록의 사전에서 SequentialPipelineBlocks 인스턴스를 생성합니다. | |
| #### get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1256) | |
| **매개변수:** | |
| - ****kwargs** : 입력 이름과 값. 블록 선택에는 트리거 입력만 영향을 줍니다. | |
| **반환값:** | |
| 실행될 블록만 포함된 SequentialPipelineBlocks | |
| 지정된 입력에 따라 실행될 블록을 가져옵니다. | |
| 탐색이 순차적인 블록을 순회하면서, 해결된 블록의 중간 출력은 활성 입력에 추가됩니다. 이는 중간 값에 의존하는 조건부 블록(예: "image_latents가 존재하면 img2img 실행")이 조건이 실제 값이 아닌 존재/부재(None 또는 None이 아닌 값)에 기반하는 한 올바르게 해결됨을 의미합니다. | |
| ## LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]] | |
| #### diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]] | |
| ```python | |
| diffusers.LoopSequentialPipelineBlocks() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1401) | |
| **매개변수:** | |
| block_classes : 사용할 블록 클래스 목록 | |
| block_names : 각 블록에 대한 접두사 목록 | |
| 여러 개의 pipeline block 클래스를 For Loop로 결합하는 Pipeline block입니다. 호출되면 각 block을 순서대로 호출합니다. | |
| 이 클래스는 [ModularPipelineBlocks](/docs/diffusers/main/ko/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks)에서 상속됩니다. 라이브러리가 모든 파이프라인 블록에 대해 구현하는 일반적 메서드(로드, 저장 등)에 대해서는 상위 클래스 문서를 확인하세요. | |
| #### from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]] | |
| ```python | |
| from_blocks_dict(blocks_dict: dict) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1562) | |
| **매개변수:** | |
| blocks_dict : 블록 이름을 블록 인스턴스로 매핑하는 사전 | |
| **반환값:** | |
| 새로운 LoopSequentialPipelineBlocks 인스턴스 | |
| LoopSequentialPipelineBlocks 인스턴스를 블록 사전에서 생성합니다. | |
| ## AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]] | |
| #### diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]] | |
| ```python | |
| diffusers.AutoPipelineBlocks() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L980) | |
| **매개변수:** | |
| block_classes : 사용할 블록 클래스 목록. `block_names` 및 `block_trigger_inputs`와 동일한 길이를 가져야 합니다. | |
| block_names : 각 블록의 이름 목록. `block_classes`와 `block_trigger_inputs`와 동일한 길이를 가져야 합니다. | |
| block_trigger_inputs : 각 요소가 해당 블록의 트리거 입력을 지정하는 입력 이름 목록. 기본 블록은 `None`으로 표시합니다. | |
| 트리거 입력의 존재에 따라 실행할 블록을 자동으로 선택하는 Pipeline Blocks입니다. | |
| `ConditionalPipelineBlocks`의 특수화된 버전으로, 다음과 같습니다: | |
| - 각 블록에는 하나의 대응하는 트리거 입력이 있습니다(1:1 매핑) | |
| - Block selection은 자동으로 수행됩니다: trigger 입력이 존재하는 첫 번째 블록이 선택됩니다 | |
| - `block_trigger_inputs`는 `block_names`와 `block_classes`와 동일한 길이를 가져야 합니다 | |
| - `block_trigger_inputs`에 `None`을 사용하여 기본 블록을 지정합니다. 즉, 트리거 입력이 없는 경우 실행되는 블록입니다. | |
| 예: | |
| ```python | |
| class MyAutoBlock(AutoPipelineBlocks): | |
| block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock] | |
| block_names = ["inpaint", "img2img", "text2img"] | |
| block_trigger_inputs = ["mask_image", "image", None] # text2img is the default | |
| ``` | |
| 이 정의로: | |
| - `mask_image`가 제공되는 한, `image`가 제공되었는지 여부와 관계없이 "inpaint" 블록이 실행됩니다 | |
| - `mask_image`가 제공되지 않고 `image`가 제공된 경우, "img2img" 블록이 실행됩니다 | |
| - 그렇지 않으면 "text2img" 블록이 실행됩니다(기본값, 트리거는 `None`) | |
| #### select_block[[diffusers.AutoPipelineBlocks.select_block]] | |
| ```python | |
| select_block(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L1033) | |
| None가 아닌 트리거 입력이 존재하는지에 따라 블록을 선택합니다. | |
| ## ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]] | |
| #### diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]] | |
| ```python | |
| diffusers.ConditionalPipelineBlocks() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L681) | |
| **매개변수:** | |
| block_classes : 사용할 블록 클래스 목록. `block_names`와 동일한 길이를 가져야 합니다. | |
| block_names : 각 블록의 이름 목록. `block_classes`와 동일한 길이를 가져야 합니다. | |
| block_trigger_inputs : `select_block()`가 실행할 블록을 결정하는 데 사용하는 입력 이름 목록입니다. `ConditionalPipelineBlocks`의 경우, 이는 `block_names` 및 `block_classes`와 일치할 필요가 없습니다. `AutoPipelineBlocks`의 경우, 이는 `block_names` 및 `block_classes`와 동일한 길이를 가져야 하며, 각 요소는 해당 블록의 트리거 입력을 지정합니다. | |
| default_block_name : 트리거 입력이 일치하지 않을 때 실행되는 기본 블록의 이름입니다. None인 경우, 트리거 입력이 제공되지 않으면 이 블록을 완전히 건너뛸 수 있습니다. | |
| 입력에 따라 실행할 블록을 조건부로 선택하는 Pipeline Blocks입니다. 하위 클래스는 블록 선택 로직을 정의하기 위해 `select_block` 메서드를 구현해야 합니다. 현재는 입력의 유무(즉, `None`인지 여부)에 기반한 선택 로직만 지원합니다. | |
| 이 클래스는 [ModularPipelineBlocks](/docs/diffusers/main/ko/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks)에서 상속됩니다. 라이브러리가 모든 파이프라인 블록에 대해 구현하는 일반적 메서드(로드, 저장 등)에 대해서는 상위 클래스 문서를 확인하세요. | |
| #### get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]] | |
| ```python | |
| get_execution_blocks(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L871) | |
| **매개변수:** | |
| - ****kwargs** : 입력 이름과 값. 블록 선택에는 트리거 입력만 영향을 줍니다. | |
| **반환값:** - `ModularPipelineBlocks` | |
| 리프 블록 또는 해결된 `SequentialPipelineBlocks` | |
| - `None`: 이 블록이 건너뛰어지는 경우 (트리거가 일치하지 않고 기본값도 없는 경우) | |
| 입력에 따라 실행될 블록을 가져옵니다. | |
| ConditionalPipelineBlocks가 더 이상 없거나 다음 중 하나에 도달할 때까지 재귀적으로 중첩된 ConditionalPipelineBlocks를 해결합니다: | |
| - A leaf block (no sub_blocks or LoopSequentialPipelineBlocks) → returns single `ModularPipelineBlocks` | |
| - `SequentialPipelineBlocks` → `get_execution_blocks()`에 위임하여 다음을 반환 | |
| 해결된 실행 블록을 포함하는 `SequentialPipelineBlocks` | |
| #### select_block[[diffusers.ConditionalPipelineBlocks.select_block]] | |
| ```python | |
| select_block(**kwargs) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/modular_pipeline.py#L827) | |
| **매개변수:** | |
| - ****kwargs** : 상태(state)에서 트리거 입력 이름과 해당 값 | |
| **반환값:** `str | None` | |
| 실행할 블록의 이름 또는 기본값 사용/스킵을 위해 None | |
| 트리거 입력을 기반으로 실행할 블록을 선택합니다. 서브클래스는 이 메서드를 구현하여 블록 선택 로직을 정의해야 합니다. | |
| Note: trigger 입력에 이전 블록의 중간 출력이 포함된 경우, 선택 로직은 입력의 실제 값이 아니라 존재 여부(즉, None인지 여부)에만 의존해야 합니다. 이는 `get_execution_blocks()`가 런타임 값 없이 중간 출력 이름을 전파하여 조건을 정적으로 해석하기 때문입니다. | |
Xet Storage Details
- Size:
- 12.4 kB
- Xet hash:
- 8d69803f8133e28daada029b22ef260145d11581dffcbddb619115c94242fb42
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.