Buckets:
| import"../chunks/DsnmJJEf.js";import{i as h,h as g,C as M,H as b,a as i,E as y,s as J}from"../chunks/CmJXCtRL.js";import{p as w,o as I,s as e,f as Z,a as u,b as U,d as f,n as j}from"../chunks/DK803DsY.js";const W='{"title":"AutoPipeline","local":"autopipeline","sections":[],"depth":1}';var T=f('<meta name="hf:doc:metadata"/>'),_=f('<p></p> <!> <!> <p><a href="../api/models/auto_model">AutoPipeline</a> is a <em>task-and-model</em> pipeline that automatically selects the correct pipeline subclass based on the task. It handles the complexity of loading different pipeline subclasses without needing to know the specific pipeline subclass name.</p> <p>This is unlike <a href="/docs/diffusers/pr_14313/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a>, a <em>model-only</em> pipeline that automatically selects the pipeline subclass based on the model.</p> <p><a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image">AutoPipelineForImage2Image</a> returns a specific pipeline subclass, (for example, <a href="/docs/diffusers/pr_14313/en/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLImg2ImgPipeline">StableDiffusionXLImg2ImgPipeline</a>), which can only be used for image-to-image tasks.</p> <!> <p>Loading the same model with <a href="/docs/diffusers/pr_14313/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> returns the <a href="/docs/diffusers/pr_14313/en/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline">StableDiffusionXLPipeline</a> subclass. It can be used for text-to-image, image-to-image, or inpainting tasks depending on the inputs.</p> <!> <p>Check the <a href="https://github.com/huggingface/diffusers/blob/130fd8df54f24ffb006d84787b598d8adc899f23/src/diffusers/pipelines/auto_pipeline.py#L114" rel="nofollow">mappings</a> to see whether a model is supported or not.</p> <p>Trying to load an unsupported model returns an error.</p> <!> <p>There are four types of <a href="../api/models/auto_model">AutoPipeline</a> classes:</p> <ul><li><a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image">AutoPipelineForText2Image</a></li> <li><a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image">AutoPipelineForImage2Image</a></li> <li><a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting">AutoPipelineForInpainting</a></li> <li><a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio">AutoPipelineForText2Audio</a></li></ul> <p>Each of these classes have a predefined mapping, linking a pipeline to their task-specific subclass.</p> <p>When <a href="/docs/diffusers/pr_14313/en/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained">from_pretrained()</a> is called, it extracts the class name from the <code>model_index.json</code> file and selects the appropriate pipeline subclass for the task based on the mapping.</p> <!> <p></p>',1);function A(d,m){w(m,!1),I(()=>{new URLSearchParams(window.location.search).get("fw")}),h();var s=_();g("4ifgl2",o=>{var r=T();J(r,"content",W),u(o,r)});var a=e(Z(s),2);M(a,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var l=e(a,2);b(l,{title:"AutoPipeline",local:"autopipeline",headingTag:"h1"});var p=e(l,8);i(p,{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXV0b1BpcGVsaW5lRm9ySW1hZ2UySW1hZ2UlMEElMEFwaXBlbGluZSUyMCUzRCUyMEF1dG9QaXBlbGluZUZvckltYWdlMkltYWdlLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjJSdW5EaWZmdXNpb24lMkZKdWdnZXJuYXV0LVhMLXY5JTIyJTJDJTIwZHR5cGUlM0R0b3JjaC5iZmxvYXQxNiUyQyUyMGRldmljZV9tYXAlM0QlMjJjdWRhJTIyJTJDJTBBKSUwQXByaW50KHBpcGVsaW5lKSUwQSUyMlN0YWJsZURpZmZ1c2lvblhMSW1nMkltZ1BpcGVsaW5lJTIwJTdCJTBBJTIwJTIwJTIyX2NsYXNzX25hbWUlMjIlM0ElMjAlMjJTdGFibGVEaWZmdXNpb25YTEltZzJJbWdQaXBlbGluZSUyMiUyQyUwQSUyMCUyMC4uLiUwQSUyMg==",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AutoPipelineForImage2Image | |
| pipeline = AutoPipelineForImage2Image.from_pretrained( | |
| <span class="hljs-string">"RunDiffusion/Juggernaut-XL-v9"</span>, dtype=torch.bfloat16, device_map=<span class="hljs-string">"cuda"</span>, | |
| ) | |
| <span class="hljs-built_in">print</span>(pipeline) | |
| <span class="hljs-string">"StableDiffusionXLImg2ImgPipeline { | |
| "</span>_class_name<span class="hljs-string">": "</span>StableDiffusionXLImg2ImgPipeline<span class="hljs-string">", | |
| ... | |
| "</span>`,lang:"py",wrap:!1});var n=e(p,4);i(n,{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEElMEFwaXBlbGluZSUyMCUzRCUyMERpZmZ1c2lvblBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjJSdW5EaWZmdXNpb24lMkZKdWdnZXJuYXV0LVhMLXY5JTIyJTJDJTIwZHR5cGUlM0R0b3JjaC5iZmxvYXQxNiUyQyUyMGRldmljZV9tYXAlM0QlMjJjdWRhJTIyJTJDJTBBKSUwQXByaW50KHBpcGVsaW5lKSUwQSUyMlN0YWJsZURpZmZ1c2lvblhMUGlwZWxpbmUlMjAlN0IlMEElMjAlMjAlMjJfY2xhc3NfbmFtZSUyMiUzQSUyMCUyMlN0YWJsZURpZmZ1c2lvblhMUGlwZWxpbmUlMjIlMkMlMEElMjAlMjAuLi4lMEElMjI=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| pipeline = DiffusionPipeline.from_pretrained( | |
| <span class="hljs-string">"RunDiffusion/Juggernaut-XL-v9"</span>, dtype=torch.bfloat16, device_map=<span class="hljs-string">"cuda"</span>, | |
| ) | |
| <span class="hljs-built_in">print</span>(pipeline) | |
| <span class="hljs-string">"StableDiffusionXLPipeline { | |
| "</span>_class_name<span class="hljs-string">": "</span>StableDiffusionXLPipeline<span class="hljs-string">", | |
| ... | |
| "</span>`,lang:"py",wrap:!1});var t=e(n,6);i(t,{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXV0b1BpcGVsaW5lRm9ySW1hZ2UySW1hZ2UlMEElMEFwaXBlbGluZSUyMCUzRCUyMEF1dG9QaXBlbGluZUZvckltYWdlMkltYWdlLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjJvcGVuYWklMkZzaGFwLWUtaW1nMmltZyUyMiUyQyUyMGR0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUwQSklMEElMjJWYWx1ZUVycm9yJTNBJTIwQXV0b1BpcGVsaW5lJTIwY2FuJ3QlMjBmaW5kJTIwYSUyMHBpcGVsaW5lJTIwbGlua2VkJTIwdG8lMjBTaGFwRUltZzJJbWdQaXBlbGluZSUyMGZvciUyME5vbmUlMjI=",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AutoPipelineForImage2Image | |
| pipeline = AutoPipelineForImage2Image.from_pretrained( | |
| <span class="hljs-string">"openai/shap-e-img2img"</span>, dtype=torch.float16, | |
| ) | |
| <span class="hljs-string">"ValueError: AutoPipeline can't find a pipeline linked to ShapEImg2ImgPipeline for None"</span>`,lang:"py",wrap:!1});var c=e(t,10);y(c,{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/tutorials/autopipeline.md"}),j(2),u(d,s),U()}export{A as component}; | |
Xet Storage Details
- Size:
- 7.04 kB
- Xet hash:
- c477cb85903eab286a20a7987b5612fc9e730bc9cbb0ea70970a8f217542f9b4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.