Files
diffusers/docs/source/en/api/pipelines/overview.md
Manuel Brack 00eca4b887 [Pipeline] Add LEDITS++ pipelines (#6074)
* Setup LEdits++ file structure

* Fix import

* LEditsPP Stable Diffusion pipeline

* Include variable image aspect ratios

* Implement LEDITS++ for SDXL

* clean up LEditsPPPipelineStableDiffusion

* Adjust inversion output

* Added docu, more cleanup for LEditsPPPipelineStableDiffusion

* clean up LEditsPPPipelineStableDiffusionXL

* Update documentation

* Fix documentation import

* Add skeleton IF implementation

* Fix documentation typo

* Add LEDTIS docu to toctree

* Add missing title

* Finalize SD documentation

* Finalize SD-XL documentation

* Fix code style and quality

* Fix typo

* Fix return types

* added LEditsPPPipelineIF; minor changes for LEditsPPPipelineStableDiffusion and LEditsPPPipelineStableDiffusionXL

* Fix copy reference

* add documentation for IF

* Add first tests

* Fix batching for SD-XL

* Fix text encoding and perfect reconstruction for SD-XL

* Add tests for SD-XL, minor changes

* move user_mask to correct device, use cross_attention_kwargs also for inversion

* Example docstring

* Fix attention resolution for non-square images

* Refactoring for PR review

* Safely remove ledits_utils.py

* Style fixes

* Replace assertions with ValueError

* Remove LEditsPPPipelineIF

* Remove unecessary input checks

* Refactoring of CrossAttnProcessor

* Revert unecessary changes to scheduler

* Remove first progress-bar in inversion

* Refactor scheduler usage and reset

* Use imageprocessor instead of custom logic

* Fix scheduler init warning

* Fix error when running the pipeline in fp16

* Update documentation wrt perfect inversion

* Update tests

* Fix code quality and copy consistency

* Update LEditsPP import

* Remove enable/disable methods that are now in StableDiffusionMixin

* Change import in docs

* Revert import structure change

* Fix ledits imports

---------

Co-authored-by: Katharina Kornmeier <katharina.kornmeier@stud.tu-darmstadt.de>
2024-03-13 12:43:47 +02:00

5.9 KiB
Raw Blame History

Pipelines

Pipelines provide a simple way to run state-of-the-art diffusion models in inference by bundling all of the necessary components (multiple independently-trained models, schedulers, and processors) into a single end-to-end class. Pipelines are flexible and they can be adapted to use different schedulers or even model components.

All pipelines are built from the base [DiffusionPipeline] class which provides basic functionality for loading, downloading, and saving all the components. Specific pipeline types (for example [StableDiffusionPipeline]) loaded with [~DiffusionPipeline.from_pretrained] are automatically detected and the pipeline components are loaded and passed to the __init__ function of the pipeline.

You shouldn't use the [DiffusionPipeline] class for training. Individual components (for example, [UNet2DModel] and [UNet2DConditionModel]) of diffusion pipelines are usually trained individually, so we suggest directly working with them instead.


Pipelines do not offer any training functionality. You'll notice PyTorch's autograd is disabled by decorating the [~DiffusionPipeline.__call__] method with a torch.no_grad decorator because pipelines should not be used for training. If you're interested in training, please take a look at the Training guides instead!

The table below lists all the pipelines currently available in 🤗 Diffusers and the tasks they support. Click on a pipeline to view its abstract and published paper.

Pipeline Tasks
AltDiffusion image2image
AnimateDiff text2video
Attend-and-Excite text2image
Audio Diffusion image2audio
AudioLDM text2audio
AudioLDM2 text2audio
BLIP Diffusion text2image
Consistency Models unconditional image generation
ControlNet text2image, image2image, inpainting
ControlNet with Stable Diffusion XL text2image
ControlNet-XS text2image
ControlNet-XS with Stable Diffusion XL text2image
Cycle Diffusion image2image
Dance Diffusion unconditional audio generation
DDIM unconditional image generation
DDPM unconditional image generation
DeepFloyd IF text2image, image2image, inpainting, super-resolution
DiffEdit inpainting
DiT text2image
GLIGEN text2image
InstructPix2Pix image editing
Kandinsky 2.1 text2image, image2image, inpainting, interpolation
Kandinsky 2.2 text2image, image2image, inpainting
Kandinsky 3 text2image, image2image
Latent Consistency Models text2image
Latent Diffusion text2image, super-resolution
LDM3D text2image, text-to-3D, text-to-pano, upscaling
LEDITS++ image editing
MultiDiffusion text2image
MusicLDM text2audio
Paint by Example inpainting
ParaDiGMS text2image
Pix2Pix Zero image editing
PixArt-α text2image
PNDM unconditional image generation
RePaint inpainting
Score SDE VE unconditional image generation
Self-Attention Guidance text2image
Semantic Guidance text2image
Shap-E text-to-3D, image-to-3D
Spectrogram Diffusion
Stable Diffusion text2image, image2image, depth2image, inpainting, image variation, latent upscaler, super-resolution
Stable Diffusion Model Editing model editing
Stable Diffusion XL text2image, image2image, inpainting
Stable Diffusion XL Turbo text2image, image2image, inpainting
Stable unCLIP text2image, image variation
Stochastic Karras VE unconditional image generation
T2I-Adapter text2image
Text2Video text2video, video2video
Text2Video-Zero text2video
unCLIP text2image, image variation
Unconditional Latent Diffusion unconditional image generation
UniDiffuser text2image, image2text, image variation, text variation, unconditional image generation, unconditional audio generation
Value-guided planning value guided sampling
Versatile Diffusion text2image, image variation
VQ Diffusion text2image
Wuerstchen text2image

DiffusionPipeline

autodoc DiffusionPipeline - all - call - device - to - components

FlaxDiffusionPipeline

autodoc pipelines.pipeline_flax_utils.FlaxDiffusionPipeline

PushToHubMixin

autodoc utils.PushToHubMixin