Buckets:

hf-doc-build/doc-dev / diffusers /pr_15089 /en /modular_diffusers /coming_from_diffusion_pipeline.html
download
raw
10 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Coming from DiffusionPipeline&quot;,&quot;local&quot;:&quot;coming-from-diffusionpipeline&quot;,&quot;sections&quot;:[],&quot;depth&quot;:1}"/>
<link href="/docs/diffusers/main/en/_app/immutable/entry/start.B14_Edif.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/C4AWQ-Kq.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/Bxg1KTwn.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/entry/app.BAjhBT-A.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/_cc5t5W0.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/DnVIJfC5.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/DsnmJJEf.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/_vgxTYk6.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/nodes/0.CYnSXsma.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/Bby4PKTn.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/nodes/3.DNwATKWd.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/BsvH0kIi.js" rel="modulepreload">
<!--1w018en--><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Coming from DiffusionPipeline&quot;,&quot;local&quot;:&quot;coming-from-diffusionpipeline&quot;,&quot;sections&quot;:[],&quot;depth&quot;:1}"/><!---->
<link href="/docs/diffusers/main/en/_app/immutable/assets/0.tn0RQdqM.css" rel="modulepreload"> <!--[--><!--[0--><!--[--><!--[0--><!--[--><p></p> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"><div class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----></span> <span>Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg><!----></button></div> <!--[-1--><!--]--></div><!----> <!--[0--><h1 class="relative group"><a id="coming-from-diffusionpipeline" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#coming-from-diffusionpipeline"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span>Coming from DiffusionPipeline</span></h1><!--]--><!----> <p>If you are familiar with <a href="/docs/diffusers/pr_15089/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> and are working with a <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> 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 <a href="./quickstart">quickstart</a>.</p> <ul><li><strong>Loading is lazy and flexible.</strong> <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a> builds the pipeline from the repository’s <code>modular_model_index.json</code> without loading any weights. <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_components">load_components()</a> 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 with <code>names</code>, or the set one workflow needs with <code>workflow</code>. <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.update_components">update_components()</a> lets you reuse a component you already have, or one that differs from the repository’s spec. See <a href="./modular_pipeline#loading-components">Loading components</a> and <a href="./modular_pipeline#updating-components">Updating components</a>.</li> <li><strong><a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> reads a different index, <code>modular_model_index.json</code></strong>, but it also works with a repository that only has a <code>model_index.json</code>, as long as the model has a modular pipeline. The reverse is not true: <a href="/docs/diffusers/pr_15089/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> and the <code>AutoPipeline</code> classes don’t work with a repository that only has a <code>modular_model_index.json</code>.</li> <li><strong>A call returns the pipeline state</strong>, which holds the intermediate values too (<code>prompt_embeds</code>, <code>latents</code>, …). Ask for what you need with the <code>output</code> argument, <code>output="images"</code> or <code>output=["images", "latents"]</code>, or read an attribute of the state, as in the <a href="./quickstart#run-a-pipeline">quickstart</a>. See <a href="./modular_diffusers_states">States</a>.</li> <li><strong>Classifier-free guidance is supported in the <code>guider</code> component</strong>, not a <code>guidance_scale</code> call argument: <code>pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0))</code>. See the <a href="../using-diffusers/guiders">guiders guide</a>.</li> <li><strong>There is no <code>callback_on_step_end</code></strong>; however, you can insert a block into the denoising loop to use your existing callback functions. See <a href="../using-diffusers/callback#modular-pipelines">Modular pipelines</a> in the callbacks guide.</li> <li><strong>The pipeline is a graph of blocks</strong> that you can change (pop, insert, replace) before building it with <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline">init_pipeline()</a>; <code>pipe.blocks</code> returns a copy, so edit the blocks first. See <a href="./quickstart#compose-new-workflows">Compose new workflows</a>.</li> <li><strong>Offloading is handled by a <a href="/docs/diffusers/pr_15089/en/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager">ComponentsManager</a></strong>, which can serve several pipelines that share components. See the <a href="./components_manager#offloading">ComponentsManager guide</a>.</li></ul> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/diffusers/blob/main/docs/source/en/modular_diffusers/coming_from_diffusion_pipeline.md" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg><!----> <span><span class="underline">Update</span> on GitHub</span></a><!----> <p></p><!--]--><!----><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
<script>
{
__sveltekit_1qc88ns = {
base: "/docs/diffusers/main/en",
assets: "/docs/diffusers/main/en"
};
const element = document.currentScript.parentElement;
Promise.all([
import("/docs/diffusers/main/en/_app/immutable/entry/start.B14_Edif.js"),
import("/docs/diffusers/main/en/_app/immutable/entry/app.BAjhBT-A.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 3],
data: [null,null],
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
10 kB
·
Xet hash:
4e29d8ac595e02ef6fb55b016d1db4b6f73e98ada81673dd1b1df539fb0391c5

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.