|
Download README.md from diffusers/custom-block-template: direct link, hf CLI and curl.
- Browser
- Download file 1.85 kB
-
https://huggingface.co/diffusers/custom-block-template/resolve/main/README.md
- Command line
-
hf download hf://diffusers/custom-block-template/README.md
-
curl -L -o README.md https://huggingface.co/diffusers/custom-block-template/resolve/main/README.md
1.85 kB
| license: apache-2.0 | |
| # Custom Block Template | |
| A template for creating custom ModularPipelineBlocks. Use this as a starting point for building your own blocks. | |
| ## Getting Started | |
| ### 1. Download the template | |
| ```python | |
| from diffusers import ModularPipelineBlocks | |
| model_id = "diffusers/custom-block-template" | |
| local_dir = model_id.split("/")[-1] | |
| blocks = ModularPipelineBlocks.from_pretrained( | |
| model_id, | |
| trust_remote_code=True, | |
| local_dir=local_dir | |
| ) | |
| ``` | |
| This saves the template files to `custom-block-template/` locally. Feel free to use a custom `local_dir` | |
| ### 2. Edit locally | |
| Open `block.py` and implement your custom block: | |
| - Update the class name and `description` | |
| - Define `expected_components` if your block needs models | |
| - Define `inputs` with your input parameters | |
| - Define `intermediate_outputs` with your output parameters | |
| - Implement your logic in `__call__` | |
| ### 3. Test your block | |
| ```python | |
| from diffusers import ModularPipelineBlocks | |
| blocks = ModularPipelineBlocks.from_pretrained(local_dir, trust_remote_code=True) | |
| pipeline = blocks.init_pipeline() | |
| output = pipeline(...) # your inputs here | |
| ``` | |
| ### 4. Upload to the Hub | |
| ```python | |
| pipeline.save_pretrained(local_dir, repo_id="your-username/your-block-name", push_to_hub=True) | |
| ``` | |
| ## Adding Mellon Support | |
| To use your block in [Mellon](https://github.com/cubiq/Mellon), add `metadata={"mellon": "<type>"}` to your InputParam/OutputParam definitions, then generate the config: | |
| ```python | |
| from diffusers.modular_pipelines.mellon_node_utils import MellonPipelineConfig | |
| mellon_config = MellonPipelineConfig.from_custom_block(blocks) | |
| mellon_config.save(local_dir, repo_id="your-username/your-block-name", push_to_hub=True) | |
| ``` | |
| See the [Mellon integration guide](https://huggingface.co/docs/diffusers/main/en/modular_pipelines/mellon_custom_blocks) for more details. |