-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Refactor Pipelines / Community pipelines and add better explanations. #257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
98e57e6
[Examples readme]
patrickvonplaten e8fe1bc
Merge branch 'main' of https://github.com/huggingface/diffusers into …
patrickvonplaten 6a902a9
Improve
patrickvonplaten 5df441e
more
patrickvonplaten 51b9dee
Merge branch 'main' of https://github.com/huggingface/diffusers into …
patrickvonplaten 04e2a9d
save
patrickvonplaten f2ee1fa
save
patrickvonplaten 5a1c49c
save more
patrickvonplaten c90c8d0
up
patrickvonplaten 036d00b
up
patrickvonplaten 62adb64
Apply suggestions from code review
patrickvonplaten b4f44d7
Merge branch 'main' of https://github.com/huggingface/diffusers into …
patrickvonplaten fa0a5dc
up
patrickvonplaten d7c2ca8
make deterministic
patrickvonplaten 7524f76
Merge branch 'example_readme' of https://github.com/huggingface/diffu…
patrickvonplaten 5eafc4f
up
patrickvonplaten d5b4c62
Merge branch 'example_readme' of https://github.com/huggingface/diffu…
patrickvonplaten bfebb41
better
patrickvonplaten f662b51
up
patrickvonplaten 4858e8b
Merge branch 'example_readme' of https://github.com/huggingface/diffu…
patrickvonplaten 8310d69
add generator to img2img pipe
patrickvonplaten 4588f72
save
patrickvonplaten 0e9db81
Merge branch 'example_readme' of https://github.com/huggingface/diffu…
patrickvonplaten 4d7d714
make pipelines deterministic
patrickvonplaten 26b805b
Merge branch 'main' into example_readme
patrickvonplaten be1508c
merge conflict
patrickvonplaten be1ea60
correct
patrickvonplaten 6338a91
Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffu…
patrickvonplaten eff421b
apply all changes
patrickvonplaten b73e0a1
more correctnios
patrickvonplaten d8bcdd6
finish
patrickvonplaten 102eb97
improve table
patrickvonplaten e3238c0
more fixes
patrickvonplaten dbd9489
up
patrickvonplaten b78467a
Apply suggestions from code review
patrickvonplaten 914c7c0
Apply suggestions from code review
patrickvonplaten f9f39f4
Apply suggestions from code review
patrickvonplaten 36dd1a8
Apply suggestions from code review
patrickvonplaten e076f99
Update src/diffusers/pipelines/README.md
patrickvonplaten 8c5d071
add better links
patrickvonplaten 79ba4c6
Merge branch 'example_readme' of https://github.com/huggingface/diffu…
patrickvonplaten 2f5b6b3
fix more
patrickvonplaten 02c85e0
finish
patrickvonplaten File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| <!--- | ||
| Copyright 2022 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. | ||
| --> | ||
|
|
||
| # 🧨 Diffusers Examples | ||
|
|
||
| Diffusers examples are a collection of scripts to demonstrate how to effectively use the `diffusers` library | ||
| for a variety of use cases. | ||
|
|
||
| **Note**: If you are looking for **official** examples on how to use `diffusers` for inference, | ||
| please have a look at [src/diffusers/pipelines](https://github.com/huggingface/diffusers/tree/main/src/diffusers/pipelines) | ||
|
|
||
| Our examples aspire to be **self-contained**, **easy-to-tweak**, **beginner-friendly** and for **one-purpose-only**. | ||
| More specifically, this means: | ||
|
|
||
| - **Self-contained**: An example script shall only depend on "pip-install-able" Python packages that can be found in a `requirements.txt` file. Example scripts shall **not** depend on any local files. This means that one can simply download an example script, *e.g.* [train_unconditional.py](https://github.com/huggingface/diffusers/blob/main/examples/unconditional_image_generation/train_unconditional.py), install the required dependencies, *e.g.* [requirements.txt](https://github.com/huggingface/diffusers/blob/main/examples/unconditional_image_generation/requirements.txt) and execute the example script. | ||
| - **Easy-to-tweak**: While we strive to present as many use cases as possible, the example scripts are just that - examples. It is expected that they won't work out-of-the box on your specific problem and that you will be required to change a few lines of code to adapt them to your needs. To help you with that, most of the examples fully expose the preprocessing of the data and the training loop to allow you to tweak and edit them as required. | ||
| - **Beginner-friendly**: We do not aim for providing state-of-the-art training scripts for the newest models, but rather examples that can be used as a way to better understand diffusion models and how to use them with the `diffusers` library. We often purposefully leave out certain state-of-the-art methods if we consider them too complex for beginners. | ||
| - **One-purpose-only**: Examples should show one task and one task only. Even if a task is from a modeling | ||
| point of view very similar, *e.g.* image super-resolution and image modification tend to use the same model and training method, we want examples to showcase only one task to keep them as readable and easy-to-understand as possible. | ||
|
|
||
| We provide **official** examples that cover the most popular tasks of diffusion models. | ||
| *Official* examples are **actively** maintained by the `diffusers` maintainers and we try to rigorously follow our example philosophy as defined above. | ||
| If you feel like another important example should exist, we are more than happy to welcome a [Feature Request](https://github.com/huggingface/diffusers/issues/new?assignees=&labels=&template=feature_request.md&title=) or directly a [Pull Request](https://github.com/huggingface/diffusers/compare) from you! | ||
|
|
||
| Training examples show how to pretrain or fine-tune diffusion models for a variety of tasks. Currently we support: | ||
|
|
||
| | Task | 🤗 Accelerate | 🤗 Datasets | Colab | ||
| |---|---|:---:|:---:| | ||
| | [**Unconditional Image Generation**](https://github.com/huggingface/transformers/tree/main/examples/training/train_unconditional.py) | ✅ | ✅ | [](https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/training_example.ipynb) | ||
|
|
||
| ## Community | ||
|
|
||
| In addition, we provide **community** examples, which are examples added and maintained by our community. | ||
| Community examples can consist of both *training* examples or *inference* pipelines. | ||
| For such examples, we are more lenient regarding the philosophy defined above and also cannot guarantee to provide maintenance for every issue. | ||
| Examples that are useful for the community, but are either not yet deemed popular or not yet following our above philosophy should go into the [community examples](https://github.com/huggingface/diffusers/tree/main/examples/community) folder. The community folder therefore includes training examples and inference pipelines. | ||
| **Note**: Community examples can be a [great first contribution](https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) to show to the community how you like to use `diffusers` 🪄. | ||
|
|
||
| ## Important note | ||
|
|
||
| To make sure you can successfully run the latest versions of the example scripts, you have to **install the library from source** and install some example-specific requirements. To do this, execute the following steps in a new virtual environment: | ||
| ```bash | ||
| git clone https://github.com/huggingface/diffusers | ||
| cd diffusers | ||
| pip install . | ||
| ``` | ||
| Then cd in the example folder of your choice and run | ||
| ```bash | ||
| pip install -r requirements.txt | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Community Examples | ||
|
|
||
| **Community** examples consist of both inference and training examples that have been added by the community. | ||
|
|
||
| | Example | Description | Author | | | ||
| |:----------|:-------------|:-------------|------:| |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Inference Examples | ||
|
|
||
| **The inference examples folder is deprecated and will be removed in a future version**. | ||
| **Officially supported inference examples can be found in the [Pipelines folder](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines)**. | ||
|
|
||
| - For `Image-to-Image text-guided generation with Stable Diffusion`, please have a look at the official [Pipeline examples](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines#examples) | ||
| - For `In-painting using Stable Diffusion`, please have a look at the official [Pipeline examples](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines#examples) | ||
| - For `Tweak prompts reusing seeds and latents`, please have a look at the official [Pipeline examples](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines#examples) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.