diff --git a/docs/source/en/_toctree.yml b/docs/source/en/_toctree.yml index 301a4ccc..e9f8c955 100644 --- a/docs/source/en/_toctree.yml +++ b/docs/source/en/_toctree.yml @@ -9,11 +9,15 @@ title: Installation title: Get started - sections: + - local: tutorials/tutorial_overview + title: Overview - local: tutorials/basic_training title: Train a diffusion model title: Tutorials - sections: - sections: + - local: using-diffusers/loading_overview + title: Overview - local: using-diffusers/loading title: Loading Pipelines, Models, and Schedulers - local: using-diffusers/schedulers @@ -26,6 +30,8 @@ title: Using KerasCV Stable Diffusion Checkpoints in Diffusers title: Loading & Hub - sections: + - local: using-diffusers/pipeline_overview + title: Overview - local: using-diffusers/write_own_pipeline title: Understanding models and schedulers - local: using-diffusers/unconditional_image_generation @@ -63,6 +69,8 @@ title: Taking Diffusers Beyond Images title: Using Diffusers - sections: + - local: optimization/opt_overview + title: Overview - local: optimization/fp16 title: Memory and Speed - local: optimization/torch2.0 diff --git a/docs/source/en/optimization/opt_overview.mdx b/docs/source/en/optimization/opt_overview.mdx new file mode 100644 index 00000000..8d8386f8 --- /dev/null +++ b/docs/source/en/optimization/opt_overview.mdx @@ -0,0 +1,17 @@ + + +# Overview + +Generating high-quality outputs is computationally intensive, especially during each iterative step where you go from a noisy output to a less noisy output. One of 🧨 Diffuser's goal is to make this technology widely accessible to everyone, which includes enabling fast inference on consumer and specialized hardware. + +This section will cover tips and tricks - like half-precision weights and sliced attention - for optimizing inference speed and reducing memory-consumption. You can also learn how to speed up your PyTorch code with [`torch.compile`](https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html) or [ONNX Runtime](https://onnxruntime.ai/docs/), and enable memory-efficient attention with [xFormers](https://facebookresearch.github.io/xformers/). There are also guides for running inference on specific hardware like Apple Silicon, and Intel or Habana processors. \ No newline at end of file diff --git a/docs/source/en/tutorials/tutorial_overview.mdx b/docs/source/en/tutorials/tutorial_overview.mdx new file mode 100644 index 00000000..0cec9a31 --- /dev/null +++ b/docs/source/en/tutorials/tutorial_overview.mdx @@ -0,0 +1,23 @@ + + +# Overview + +Welcome to 🧨 Diffusers! If you're new to diffusion models and generative AI, and want to learn more, then you've come to the right place. These beginner-friendly tutorials are designed to provide a gentle introduction to diffusion models and help you understand the library fundamentals - the core components and how 🧨 Diffusers is meant to be used. + +You'll learn how to use a pipeline for inference to rapidly generate things, and then deconstruct that pipeline to really understand how to use the library as a modular toolbox for building your own diffusion systems. In the next lesson, you'll learn how to train your own diffusion model to generate what you want. + +After completing the tutorials, you'll have gained the necessary skills to start exploring the library on your own and see how to use it for your own projects and applications. + +Feel free to join our community on [Discord](https://discord.com/invite/JfAtkvEtRb) or the [forums](https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63) to connect and collaborate with other users and developers! + +Let's start diffusing! 🧨 \ No newline at end of file diff --git a/docs/source/en/using-diffusers/loading_overview.mdx b/docs/source/en/using-diffusers/loading_overview.mdx new file mode 100644 index 00000000..df870505 --- /dev/null +++ b/docs/source/en/using-diffusers/loading_overview.mdx @@ -0,0 +1,17 @@ + + +# Overview + +🧨 Diffusers offers many pipelines, models, and schedulers for generative tasks. To make loading these components as simple as possible, we provide a single and unified method - `from_pretrained()` - that loads any of these components from either the Hugging Face [Hub](https://huggingface.co/models?library=diffusers&sort=downloads) or your local machine. Whenever you load a pipeline or model, the latest files are automatically downloaded and cached so you can quickly reuse them next time without redownloading the files. + +This section will show you everything you need to know about loading pipelines, how to load different components in a pipeline, how to load checkpoint variants, and how to load community pipelines. You'll also learn how to load schedulers and compare the speed and quality trade-offs of using different schedulers. Finally, you'll see how to convert and load KerasCV checkpoints so you can use them in PyTorch with 🧨 Diffusers. \ No newline at end of file diff --git a/docs/source/en/using-diffusers/pipeline_overview.mdx b/docs/source/en/using-diffusers/pipeline_overview.mdx new file mode 100644 index 00000000..ca98fc3f --- /dev/null +++ b/docs/source/en/using-diffusers/pipeline_overview.mdx @@ -0,0 +1,17 @@ + + +# Overview + +A pipeline is an end-to-end class that provides a quick and easy way to use a diffusion system for inference by bundling independently trained models and schedulers together. Certain combinations of models and schedulers define specific pipeline types, like [`StableDiffusionPipeline`] or [`StableDiffusionControlNetPipeline`], with specific capabilities. All pipeline types inherit from the base [`DiffusionPipeline`] class; pass it any checkpoint, and it'll automatically detect the pipeline type and load the necessary components. + +This section introduces you to some of the tasks supported by our pipelines such as unconditional image generation and different techniques and variations of text-to-image generation. You'll also learn how to gain more control over the generation process by setting a seed for reproducibility and weighting prompts to adjust the influence certain words in the prompt has over the output. Finally, you'll see how you can create a community pipeline for a custom task like generating images from speech. \ No newline at end of file