| <!--Copyright 2023 The HuggingFace Team. All rights reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | |
| an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations under the License. | |
| --> | |
| # AutoPipeline | |
| In many cases, one checkpoint can be used for multiple tasks. For example, you may be able to use the same checkpoint for Text-to-Image, Image-to-Image, and Inpainting. However, you'll need to know the pipeline class names linked to your checkpoint. | |
| AutoPipeline is designed to make it easy for you to use multiple pipelines in your workflow. We currently provide 3 AutoPipeline classes to perform three different tasks, i.e. [`AutoPipelineForText2Image`], [`AutoPipelineForImage2Image`], and [`AutoPipelineForInpainting`]. You'll need to choose the AutoPipeline class based on the task you want to perform and use it to automatically retrieve the relevant pipeline given the name/path to the pre-trained weights. | |
| For example, to perform Image-to-Image with the SD1.5 checkpoint, you can do | |
| ```python | |
| from diffusers import PipelineForImageToImage | |
| pipe_i2i = PipelineForImageoImage.from_pretrained("runwayml/stable-diffusion-v1-5") | |
| ``` | |
| It will also help you switch between tasks seamlessly using the same checkpoint without reallocating additional memory. For example, to re-use the Image-to-Image pipeline we just created for inpainting, you can do | |
| ```python | |
| from diffusers import PipelineForInpainting | |
| pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_i2i) | |
| ``` | |
| All the components will be transferred to the inpainting pipeline with zero cost. | |
| Currently AutoPipeline support the Text-to-Image, Image-to-Image, and Inpainting tasks for below diffusion models: | |
| - [stable Diffusion](./stable_diffusion) | |
| - [Stable Diffusion Controlnet](./api/pipelines/controlnet) | |
| - [Stable Diffusion XL](./stable_diffusion/stable_diffusion_xl) | |
| - [IF](./if) | |
| - [Kandinsky](./kandinsky) | |
| - [Kandinsky 2.2](./kandinsky) | |
| ## AutoPipelineForText2Image | |
| [[autodoc]] AutoPipelineForText2Image | |
| - all | |
| - from_pretrained | |
| - from_pipe | |
| ## AutoPipelineForImage2Image | |
| [[autodoc]] AutoPipelineForImage2Image | |
| - all | |
| - from_pretrained | |
| - from_pipe | |
| ## AutoPipelineForInpainting | |
| [[autodoc]] AutoPipelineForInpainting | |
| - all | |
| - from_pretrained | |
| - from_pipe | |