Skip to content

Commit 7860f80

Browse files
authored
Merge branch 'huggingface:main' into main
2 parents dbd6a89 + 8fcfb2a commit 7860f80

File tree

1,692 files changed

+544660
-43746
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,692 files changed

+544660
-43746
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: "\U0001F41B Bug Report"
2-
description: Report a bug on diffusers
2+
description: Report a bug on Diffusers
33
labels: [ "bug" ]
44
body:
55
- type: markdown
@@ -10,15 +10,16 @@ body:
1010
Thus, issues are of the same importance as pull requests when contributing to this library ❤️.
1111
In order to make your issue as **useful for the community as possible**, let's try to stick to some simple guidelines:
1212
- 1. Please try to be as precise and concise as possible.
13-
*Give your issue a fitting title. Assume that someone which very limited knowledge of diffusers can understand your issue. Add links to the source code, documentation other issues, pull requests etc...*
13+
*Give your issue a fitting title. Assume that someone which very limited knowledge of Diffusers can understand your issue. Add links to the source code, documentation other issues, pull requests etc...*
1414
- 2. If your issue is about something not working, **always** provide a reproducible code snippet. The reader should be able to reproduce your issue by **only copy-pasting your code snippet into a Python shell**.
1515
*The community cannot solve your issue if it cannot reproduce it. If your bug is related to training, add your training script and make everything needed to train public. Otherwise, just add a simple Python code snippet.*
16-
- 3. Add the **minimum amount of code / context that is needed to understand, reproduce your issue**.
16+
- 3. Add the **minimum** amount of code / context that is needed to understand, reproduce your issue.
1717
*Make the life of maintainers easy. `diffusers` is getting many issues every day. Make sure your issue is about one bug and one bug only. Make sure you add only the context, code needed to understand your issues - nothing more. Generally, every issue is a way of documenting this library, try to make it a good documentation entry.*
18+
- 4. For issues related to community pipelines (i.e., the pipelines located in the `examples/community` folder), please tag the author of the pipeline in your issue thread as those pipelines are not maintained.
1819
- type: markdown
1920
attributes:
2021
value: |
21-
For more in-detail information on how to write good issues you can have a look [here](https://huggingface.co/course/chapter8/5?fw=pt)
22+
For more in-detail information on how to write good issues you can have a look [here](https://huggingface.co/course/chapter8/5?fw=pt).
2223
- type: textarea
2324
id: bug-description
2425
attributes:
@@ -46,6 +47,64 @@ body:
4647
attributes:
4748
label: System Info
4849
description: Please share your system info with us. You can run the command `diffusers-cli env` and copy-paste its output below.
49-
placeholder: diffusers version, platform, python version, ...
50+
placeholder: Diffusers version, platform, Python version, ...
5051
validations:
5152
required: true
53+
- type: textarea
54+
id: who-can-help
55+
attributes:
56+
label: Who can help?
57+
description: |
58+
Your issue will be replied to more quickly if you can figure out the right person to tag with @.
59+
If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
60+
61+
All issues are read by one of the core maintainers, so if you don't know who to tag, just leave this blank and
62+
a core maintainer will ping the right person.
63+
64+
Please tag a maximum of 2 people.
65+
66+
Questions on DiffusionPipeline (Saving, Loading, From pretrained, ...): @sayakpaul @DN6
67+
68+
Questions on pipelines:
69+
- Stable Diffusion @yiyixuxu @asomoza
70+
- Stable Diffusion XL @yiyixuxu @sayakpaul @DN6
71+
- Stable Diffusion 3: @yiyixuxu @sayakpaul @DN6 @asomoza
72+
- Kandinsky @yiyixuxu
73+
- ControlNet @sayakpaul @yiyixuxu @DN6
74+
- T2I Adapter @sayakpaul @yiyixuxu @DN6
75+
- IF @DN6
76+
- Text-to-Video / Video-to-Video @DN6 @a-r-r-o-w
77+
- Wuerstchen @DN6
78+
- Other: @yiyixuxu @DN6
79+
- Improving generation quality: @asomoza
80+
81+
Questions on models:
82+
- UNet @DN6 @yiyixuxu @sayakpaul
83+
- VAE @sayakpaul @DN6 @yiyixuxu
84+
- Transformers/Attention @DN6 @yiyixuxu @sayakpaul
85+
86+
Questions on single file checkpoints: @DN6
87+
88+
Questions on Schedulers: @yiyixuxu
89+
90+
Questions on LoRA: @sayakpaul
91+
92+
Questions on Textual Inversion: @sayakpaul
93+
94+
Questions on Training:
95+
- DreamBooth @sayakpaul
96+
- Text-to-Image Fine-tuning @sayakpaul
97+
- Textual Inversion @sayakpaul
98+
- ControlNet @sayakpaul
99+
100+
Questions on Tests: @DN6 @sayakpaul @yiyixuxu
101+
102+
Questions on Documentation: @stevhliu
103+
104+
Questions on JAX- and MPS-related things: @pcuenca
105+
106+
Questions on audio pipelines: @sanchit-gandhi
107+
108+
109+
110+
placeholder: "@Username ..."

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
contact_links:
2-
- name: Blank issue
3-
url: https://github.com/huggingface/diffusers/issues/new
2+
- name: Questions / Discussions
3+
url: https://github.com/huggingface/diffusers/discussions
44
about: General usage questions and community discussions
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
name: "\U0001F680 Feature request"
2+
name: "\U0001F680 Feature Request"
33
about: Suggest an idea for this project
44
title: ''
55
labels: ''
@@ -8,13 +8,13 @@ assignees: ''
88
---
99

1010
**Is your feature request related to a problem? Please describe.**
11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...].
1212

13-
**Describe the solution you'd like**
13+
**Describe the solution you'd like.**
1414
A clear and concise description of what you want to happen.
1515

16-
**Describe alternatives you've considered**
16+
**Describe alternatives you've considered.**
1717
A clear and concise description of any alternative solutions or features you've considered.
1818

19-
**Additional context**
19+
**Additional context.**
2020
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/new-model-addition.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
name: "\U0001F31F New model/pipeline/scheduler addition"
2-
description: Submit a proposal/request to implement a new diffusion model / pipeline / scheduler
1+
name: "\U0001F31F New Model/Pipeline/Scheduler Addition"
2+
description: Submit a proposal/request to implement a new diffusion model/pipeline/scheduler
33
labels: [ "New model/pipeline/scheduler" ]
44

55
body:
@@ -19,7 +19,7 @@ body:
1919
description: |
2020
Please note that if the model implementation isn't available or if the weights aren't open-source, we are less likely to implement it in `diffusers`.
2121
options:
22-
- label: "The model implementation is available"
22+
- label: "The model implementation is available."
2323
- label: "The model weights are available (Only relevant if addition is not a scheduler)."
2424

2525
- type: textarea
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: 🌐 Translating a New Language?
3+
about: Start a new translation effort in your language
4+
title: '[<languageCode>] Translating docs to <languageName>'
5+
labels: WIP
6+
assignees: ''
7+
8+
---
9+
10+
<!--
11+
Note: Please search to see if an issue already exists for the language you are trying to translate.
12+
-->
13+
14+
Hi!
15+
16+
Let's bring the documentation to all the <languageName>-speaking community 🌐.
17+
18+
Who would want to translate? Please follow the 🤗 [TRANSLATING guide](https://github.com/huggingface/diffusers/blob/main/docs/TRANSLATING.md). Here is a list of the files ready for translation. Let us know in this issue if you'd like to translate any, and we'll add your name to the list.
19+
20+
Some notes:
21+
22+
* Please translate using an informal tone (imagine you are talking with a friend about Diffusers 🤗).
23+
* Please translate in a gender-neutral way.
24+
* Add your translations to the folder called `<languageCode>` inside the [source folder](https://github.com/huggingface/diffusers/tree/main/docs/source).
25+
* Register your translation in `<languageCode>/_toctree.yml`; please follow the order of the [English version](https://github.com/huggingface/diffusers/blob/main/docs/source/en/_toctree.yml).
26+
* Once you're finished, open a pull request and tag this issue by including #issue-number in the description, where issue-number is the number of this issue. Please ping @stevhliu for review.
27+
* 🙋 If you'd like others to help you with the translation, you can also post in the 🤗 [forums](https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63).
28+
29+
Thank you so much for your help! 🤗

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# What does this PR do?
2+
3+
<!--
4+
Congratulations! You've made it this far! You're not quite done yet though.
5+
6+
Once merged, your PR is going to appear in the release notes with the title you set, so make sure it's a great title that fully reflects the extent of your awesome contribution.
7+
8+
Then, please replace this with a description of the change and which issue is fixed (if applicable). Please also include relevant motivation and context. List any dependencies (if any) that are required for this change.
9+
10+
Once you're done, someone will review your PR shortly (see the section "Who can review?" below to tag some potential reviewers). They may suggest changes to make the code even better. If no one reviewed your PR after a week has passed, don't hesitate to post a new comment @-mentioning the same persons---sometimes notifications get lost.
11+
-->
12+
13+
<!-- Remove if not applicable -->
14+
15+
Fixes # (issue)
16+
17+
18+
## Before submitting
19+
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
20+
- [ ] Did you read the [contributor guideline](https://github.com/huggingface/diffusers/blob/main/CONTRIBUTING.md)?
21+
- [ ] Did you read our [philosophy doc](https://github.com/huggingface/diffusers/blob/main/PHILOSOPHY.md) (important for complex PRs)?
22+
- [ ] Was this discussed/approved via a GitHub issue or the [forum](https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63)? Please add a link to it if that's the case.
23+
- [ ] Did you make sure to update the documentation with your changes? Here are the
24+
[documentation guidelines](https://github.com/huggingface/diffusers/tree/main/docs), and
25+
[here are tips on formatting docstrings](https://github.com/huggingface/diffusers/tree/main/docs#writing-source-documentation).
26+
- [ ] Did you write any new necessary tests?
27+
28+
29+
## Who can review?
30+
31+
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
32+
members/contributors who may be interested in your PR.
33+
34+
<!-- Your PR will be replied to more quickly if you can figure out the right person to tag with @.
35+
36+
If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
37+
Please tag fewer than 3 people.
38+
39+
Core library:
40+
41+
- Schedulers: @yiyixuxu
42+
- Pipelines and pipeline callbacks: @yiyixuxu and @asomoza
43+
- Training examples: @sayakpaul
44+
- Docs: @stevhliu and @sayakpaul
45+
- JAX and MPS: @pcuenca
46+
- Audio: @sanchit-gandhi
47+
- General functionalities: @sayakpaul @yiyixuxu @DN6
48+
49+
Integrations:
50+
51+
- deepspeed: HF Trainer/Accelerate: @SunMarc
52+
- PEFT: @sayakpaul @BenjaminBossan
53+
54+
HF projects:
55+
56+
- accelerate: [different repo](https://github.com/huggingface/accelerate)
57+
- datasets: [different repo](https://github.com/huggingface/datasets)
58+
- transformers: [different repo](https://github.com/huggingface/transformers)
59+
- safetensors: [different repo](https://github.com/huggingface/safetensors)
60+
61+
-->

.github/actions/setup-miniconda/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Sets up miniconda in your ${RUNNER_TEMP} environment and gives you
44

55
inputs:
66
python-version:
7-
description: If set to any value, dont use sudo to clean the workspace
7+
description: If set to any value, don't use sudo to clean the workspace
88
required: false
99
type: string
1010
default: "3.9"
@@ -27,7 +27,7 @@ runs:
2727
- name: Get date
2828
id: get-date
2929
shell: bash
30-
run: echo "::set-output name=today::$(/bin/date -u '+%Y%m%d')d"
30+
run: echo "today=$(/bin/date -u '+%Y%m%d')d" >> $GITHUB_OUTPUT
3131
- name: Setup miniconda cache
3232
id: miniconda-cache
3333
uses: actions/cache@v2
@@ -143,4 +143,4 @@ runs:
143143
echo "There is ${AVAIL}KB free space left in $MOUNT, continue"
144144
fi
145145
fi
146-
done
146+
done

.github/workflows/benchmark.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Benchmarking tests
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "30 1 1,15 * *" # every 2 weeks on the 1st and the 15th of every month at 1:30 AM
7+
8+
env:
9+
DIFFUSERS_IS_CI: yes
10+
HF_HOME: /mnt/cache
11+
OMP_NUM_THREADS: 8
12+
MKL_NUM_THREADS: 8
13+
14+
jobs:
15+
torch_pipelines_cuda_benchmark_tests:
16+
env:
17+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_BENCHMARK }}
18+
name: Torch Core Pipelines CUDA Benchmarking Tests
19+
strategy:
20+
fail-fast: false
21+
max-parallel: 1
22+
runs-on:
23+
group: aws-g6-4xlarge-plus
24+
container:
25+
image: diffusers/diffusers-pytorch-compile-cuda
26+
options: --shm-size "16gb" --ipc host --gpus 0
27+
steps:
28+
- name: Checkout diffusers
29+
uses: actions/checkout@v3
30+
with:
31+
fetch-depth: 2
32+
- name: NVIDIA-SMI
33+
run: |
34+
nvidia-smi
35+
- name: Install dependencies
36+
run: |
37+
python -m venv /opt/venv && export PATH="/opt/venv/bin:$PATH"
38+
python -m uv pip install -e [quality,test]
39+
python -m uv pip install pandas peft
40+
- name: Environment
41+
run: |
42+
python utils/print_env.py
43+
- name: Diffusers Benchmarking
44+
env:
45+
HF_TOKEN: ${{ secrets.DIFFUSERS_BOT_TOKEN }}
46+
BASE_PATH: benchmark_outputs
47+
run: |
48+
export TOTAL_GPU_MEMORY=$(python -c "import torch; print(torch.cuda.get_device_properties(0).total_memory / (1024**3))")
49+
cd benchmarks && mkdir ${BASE_PATH} && python run_all.py && python push_results.py
50+
51+
- name: Test suite reports artifacts
52+
if: ${{ always() }}
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: benchmark_test_reports
56+
path: benchmarks/benchmark_outputs
57+
58+
- name: Report success status
59+
if: ${{ success() }}
60+
run: |
61+
pip install requests && python utils/notify_benchmarking_status.py --status=success
62+
63+
- name: Report failure status
64+
if: ${{ failure() }}
65+
run: |
66+
pip install requests && python utils/notify_benchmarking_status.py --status=failure

0 commit comments

Comments
 (0)