Download custom_blocks.py from hf-internal-testing/tiny-modular-diffusers-block: direct link, hf CLI and curl.
- Browser
- Download file 1.41 kB
-
https://huggingface.co/hf-internal-testing/tiny-modular-diffusers-block/resolve/3ec871dd696adf38efa8eddc0b2d7569b3844a0e/custom_blocks.py
- Command line
-
hf download hf://hf-internal-testing/tiny-modular-diffusers-block@3ec871dd696adf38efa8eddc0b2d7569b3844a0e/custom_blocks.py
-
curl -L -o custom_blocks.py https://huggingface.co/hf-internal-testing/tiny-modular-diffusers-block/resolve/3ec871dd696adf38efa8eddc0b2d7569b3844a0e/custom_blocks.py
1.41 kB
| from diffusers import FluxTransformer2DModel | |
| from diffusers.modular_pipelines import ModularPipelineBlocks, ComponentSpec, InputParam, PipelineState, OutputParam | |
| from typing import List | |
| class DummyCustomBlockSimple(ModularPipelineBlocks): | |
| def __init__(self, use_dummy_model_component=False): | |
| self.use_dummy_model_component = use_dummy_model_component | |
| super().__init__() | |
| def expected_components(self): | |
| if self.use_dummy_model_component: | |
| return [ComponentSpec("transformer", FluxTransformer2DModel)] | |
| else: | |
| return [] | |
| def inputs(self) -> List[InputParam]: | |
| return [InputParam("prompt", type_hint=str, required=True, description="Prompt to use")] | |
| def intermediate_inputs(self) -> List[InputParam]: | |
| return [] | |
| def intermediate_outputs(self) -> List[OutputParam]: | |
| return [ | |
| OutputParam( | |
| "output_prompt", | |
| type_hint=str, | |
| description="Modified prompt", | |
| ) | |
| ] | |
| def __call__(self, components, state: PipelineState) -> PipelineState: | |
| block_state = self.get_block_state(state) | |
| old_prompt = block_state.prompt | |
| block_state.output_prompt = "Modular diffusers + " + old_prompt | |
| self.set_block_state(state, block_state) | |
| return components, state |