Buckets:
hf-doc-build/doc-dev / diffusers /pr_15066 /en /modular_diffusers /coming_from_diffusion_pipeline.md
Coming from DiffusionPipeline
If you are familiar with DiffusionPipeline and are working with a ModularPipeline for the first time, a few things work differently. They are listed here so that you have them in mind before you go through the quickstart.
- Loading is lazy and flexible. from_pretrained() builds the pipeline from the repository's
modular_model_index.jsonwithout loading any weights. load_components() then loads them, and it doesn't have to be all at once: by default it loads everything, but you can load only the components you name withnames, or the set one workflow needs withworkflow. update_components() lets you reuse a component you already have, or one that differs from the repository's spec. See Loading components and Updating components. - ModularPipeline reads a different index,
modular_model_index.json, but it also works with a repository that only has amodel_index.json, as long as the model has a modular pipeline. The reverse is not true: DiffusionPipeline and theAutoPipelineclasses don't work with a repository that only has amodular_model_index.json. - A call returns the pipeline state, which holds the intermediate values too (
prompt_embeds,latents, ...). Ask for what you need with theoutputargument,output="images"oroutput=["images", "latents"], or read an attribute of the state, as in the quickstart. See States. - Classifier-free guidance is supported in the
guidercomponent, not aguidance_scalecall argument:pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). See the guiders guide. - There is no
callback_on_step_end; however, you can insert a block into the denoising loop to use your existing callback functions. See Modular pipelines in the callbacks guide. - The pipeline is a graph of blocks that you can change (pop, insert, replace) before building it with init_pipeline();
pipe.blocksreturns a copy, so edit the blocks first. See Compose new workflows. - Offloading is handled by a ComponentsManager, which can serve several pipelines that share components. See the ComponentsManager guide.
Xet Storage Details
- Size:
- 3.34 kB
- Xet hash:
- 1424bd162d052764c2393eabc32d4ec9b03bfe8cca3a02ebb543a8d23053314a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.