Skip to content

Commit 4042f8e

Browse files
committed
Merge remote-tracking branch 'upstream/main' into svd-other-resolutions
2 parents 99fb2b4 + 25f3e91 commit 4042f8e

File tree

1,526 files changed

+297359
-41765
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,526 files changed

+297359
-41765
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,50 +57,54 @@ body:
5757
description: |
5858
Your issue will be replied to more quickly if you can figure out the right person to tag with @.
5959
If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
60-
60+
6161
All issues are read by one of the core maintainers, so if you don't know who to tag, just leave this blank and
6262
a core maintainer will ping the right person.
63-
63+
6464
Please tag a maximum of 2 people.
6565
66-
Questions on DiffusionPipeline (Saving, Loading, From pretrained, ...):
66+
Questions on DiffusionPipeline (Saving, Loading, From pretrained, ...): @sayakpaul @DN6
6767
6868
Questions on pipelines:
69-
- Stable Diffusion @yiyixuxu @DN6 @sayakpaul @patrickvonplaten
70-
- Stable Diffusion XL @yiyixuxu @sayakpaul @DN6 @patrickvonplaten
71-
- Kandinsky @yiyixuxu @patrickvonplaten
72-
- ControlNet @sayakpaul @yiyixuxu @DN6 @patrickvonplaten
73-
- T2I Adapter @sayakpaul @yiyixuxu @DN6 @patrickvonplaten
74-
- IF @DN6 @patrickvonplaten
75-
- Text-to-Video / Video-to-Video @DN6 @sayakpaul @patrickvonplaten
76-
- Wuerstchen @DN6 @patrickvonplaten
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
7778
- Other: @yiyixuxu @DN6
79+
- Improving generation quality: @asomoza
7880
7981
Questions on models:
80-
- UNet @DN6 @yiyixuxu @sayakpaul @patrickvonplaten
81-
- VAE @sayakpaul @DN6 @yiyixuxu @patrickvonplaten
82-
- Transformers/Attention @DN6 @yiyixuxu @sayakpaul @DN6 @patrickvonplaten
82+
- UNet @DN6 @yiyixuxu @sayakpaul
83+
- VAE @sayakpaul @DN6 @yiyixuxu
84+
- Transformers/Attention @DN6 @yiyixuxu @sayakpaul
85+
86+
Questions on single file checkpoints: @DN6
8387
84-
Questions on Schedulers: @yiyixuxu @patrickvonplaten
88+
Questions on Schedulers: @yiyixuxu
8589
86-
Questions on LoRA: @sayakpaul @patrickvonplaten
90+
Questions on LoRA: @sayakpaul
8791
88-
Questions on Textual Inversion: @sayakpaul @patrickvonplaten
92+
Questions on Textual Inversion: @sayakpaul
8993
90-
Questions on Training:
91-
- DreamBooth @sayakpaul @patrickvonplaten
92-
- Text-to-Image Fine-tuning @sayakpaul @patrickvonplaten
93-
- Textual Inversion @sayakpaul @patrickvonplaten
94-
- ControlNet @sayakpaul @patrickvonplaten
94+
Questions on Training:
95+
- DreamBooth @sayakpaul
96+
- Text-to-Image Fine-tuning @sayakpaul
97+
- Textual Inversion @sayakpaul
98+
- ControlNet @sayakpaul
9599
96-
Questions on Tests: @DN6 @sayakpaul @yiyixuxu
100+
Questions on Tests: @DN6 @sayakpaul @yiyixuxu
97101
98102
Questions on Documentation: @stevhliu
99103
100104
Questions on JAX- and MPS-related things: @pcuenca
101105
102-
Questions on audio pipelines: @DN6 @patrickvonplaten
103-
106+
Questions on audio pipelines: @sanchit-gandhi
107+
108+
104109
105-
106110
placeholder: "@Username ..."

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,18 @@ members/contributors who may be interested in your PR.
3838
3939
Core library:
4040
41-
- Schedulers: @yiyixuxu and @patrickvonplaten
42-
- Pipelines: @patrickvonplaten and @sayakpaul
43-
- Training examples: @sayakpaul and @patrickvonplaten
44-
- Docs: @stevhliu and @yiyixuxu
41+
- Schedulers: @yiyixuxu
42+
- Pipelines and pipeline callbacks: @yiyixuxu and @asomoza
43+
- Training examples: @sayakpaul
44+
- Docs: @stevhliu and @sayakpaul
4545
- JAX and MPS: @pcuenca
4646
- Audio: @sanchit-gandhi
47-
- General functionalities: @patrickvonplaten and @sayakpaul
47+
- General functionalities: @sayakpaul @yiyixuxu @DN6
4848
4949
Integrations:
5050
51-
- deepspeed: HF Trainer/Accelerate: @pacman100
51+
- deepspeed: HF Trainer/Accelerate: @SunMarc
52+
- PEFT: @sayakpaul @BenjaminBossan
5253
5354
HF projects:
5455

.github/workflows/benchmark.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
name: Benchmarking tests
22

33
on:
4+
workflow_dispatch:
45
schedule:
56
- cron: "30 1 1,15 * *" # every 2 weeks on the 1st and the 15th of every month at 1:30 AM
67

78
env:
89
DIFFUSERS_IS_CI: yes
10+
HF_HUB_ENABLE_HF_TRANSFER: 1
911
HF_HOME: /mnt/cache
1012
OMP_NUM_THREADS: 8
1113
MKL_NUM_THREADS: 8
1214

1315
jobs:
1416
torch_pipelines_cuda_benchmark_tests:
17+
env:
18+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_BENCHMARK }}
1519
name: Torch Core Pipelines CUDA Benchmarking Tests
1620
strategy:
1721
fail-fast: false
1822
max-parallel: 1
19-
runs-on: [single-gpu, nvidia-gpu, a10, ci]
23+
runs-on:
24+
group: aws-g6-4xlarge-plus
2025
container:
21-
image: diffusers/diffusers-pytorch-cuda
22-
options: --shm-size "16gb" --ipc host -v /mnt/hf_cache:/mnt/cache/ --gpus 0
26+
image: diffusers/diffusers-pytorch-compile-cuda
27+
options: --shm-size "16gb" --ipc host --gpus 0
2328
steps:
2429
- name: Checkout diffusers
2530
uses: actions/checkout@v3
@@ -30,23 +35,33 @@ jobs:
3035
nvidia-smi
3136
- name: Install dependencies
3237
run: |
33-
apt-get update && apt-get install libsndfile1-dev libgl1 -y
34-
python -m pip install -e .[quality,test]
35-
python -m pip install pandas
38+
python -m venv /opt/venv && export PATH="/opt/venv/bin:$PATH"
39+
python -m uv pip install -e [quality,test]
40+
python -m uv pip install pandas peft
3641
- name: Environment
3742
run: |
3843
python utils/print_env.py
3944
- name: Diffusers Benchmarking
4045
env:
41-
HUGGING_FACE_HUB_TOKEN: ${{ secrets.DIFFUSERS_BOT_TOKEN }}
46+
HF_TOKEN: ${{ secrets.DIFFUSERS_BOT_TOKEN }}
4247
BASE_PATH: benchmark_outputs
4348
run: |
4449
export TOTAL_GPU_MEMORY=$(python -c "import torch; print(torch.cuda.get_device_properties(0).total_memory / (1024**3))")
4550
cd benchmarks && mkdir ${BASE_PATH} && python run_all.py && python push_results.py
4651
4752
- name: Test suite reports artifacts
4853
if: ${{ always() }}
49-
uses: actions/upload-artifact@v2
54+
uses: actions/upload-artifact@v4
5055
with:
5156
name: benchmark_test_reports
52-
path: benchmarks/benchmark_outputs
57+
path: benchmarks/benchmark_outputs
58+
59+
- name: Report success status
60+
if: ${{ success() }}
61+
run: |
62+
pip install requests && python utils/notify_benchmarking_status.py --status=success
63+
64+
- name: Report failure status
65+
if: ${{ failure() }}
66+
run: |
67+
pip install requests && python utils/notify_benchmarking_status.py --status=failure

.github/workflows/build_docker_images.yml

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,59 @@
1-
name: Build Docker images (nightly)
1+
name: Test, build, and push Docker images
22

33
on:
4+
pull_request: # During PRs, we just check if the changes Dockerfiles can be successfully built
5+
branches:
6+
- main
7+
paths:
8+
- "docker/**"
49
workflow_dispatch:
510
schedule:
611
- cron: "0 0 * * *" # every day at midnight
712

813
concurrency:
9-
group: docker-image-builds
10-
cancel-in-progress: false
14+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
15+
cancel-in-progress: true
1116

1217
env:
1318
REGISTRY: diffusers
19+
CI_SLACK_CHANNEL: ${{ secrets.CI_DOCKER_CHANNEL }}
1420

1521
jobs:
16-
build-docker-images:
17-
runs-on: ubuntu-latest
22+
test-build-docker-images:
23+
runs-on:
24+
group: aws-general-8-plus
25+
if: github.event_name == 'pull_request'
26+
steps:
27+
- name: Set up Docker Buildx
28+
uses: docker/setup-buildx-action@v1
29+
30+
- name: Check out code
31+
uses: actions/checkout@v3
32+
33+
- name: Find Changed Dockerfiles
34+
id: file_changes
35+
uses: jitterbit/get-changed-files@v1
36+
with:
37+
format: 'space-delimited'
38+
token: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: Build Changed Docker Images
41+
run: |
42+
CHANGED_FILES="${{ steps.file_changes.outputs.all }}"
43+
for FILE in $CHANGED_FILES; do
44+
if [[ "$FILE" == docker/*Dockerfile ]]; then
45+
DOCKER_PATH="${FILE%/Dockerfile}"
46+
DOCKER_TAG=$(basename "$DOCKER_PATH")
47+
echo "Building Docker image for $DOCKER_TAG"
48+
docker build -t "$DOCKER_TAG" "$DOCKER_PATH"
49+
fi
50+
done
51+
if: steps.file_changes.outputs.all != ''
52+
53+
build-and-push-docker-images:
54+
runs-on:
55+
group: aws-general-8-plus
56+
if: github.event_name != 'pull_request'
1857

1958
permissions:
2059
contents: read
@@ -32,21 +71,33 @@ jobs:
3271
- diffusers-flax-tpu
3372
- diffusers-onnxruntime-cpu
3473
- diffusers-onnxruntime-cuda
74+
- diffusers-doc-builder
3575

3676
steps:
3777
- name: Checkout repository
3878
uses: actions/checkout@v3
39-
79+
- name: Set up Docker Buildx
80+
uses: docker/setup-buildx-action@v1
4081
- name: Login to Docker Hub
4182
uses: docker/login-action@v2
4283
with:
4384
username: ${{ env.REGISTRY }}
4485
password: ${{ secrets.DOCKERHUB_TOKEN }}
45-
4686
- name: Build and push
4787
uses: docker/build-push-action@v3
4888
with:
4989
no-cache: true
5090
context: ./docker/${{ matrix.image-name }}
5191
push: true
5292
tags: ${{ env.REGISTRY }}/${{ matrix.image-name }}:latest
93+
94+
- name: Post to a Slack channel
95+
id: slack
96+
uses: huggingface/hf-workflows/.github/actions/post-slack@main
97+
with:
98+
# Slack channel id, channel name, or user id to post message.
99+
# See also: https://api.slack.com/methods/chat.postMessage#channels
100+
slack_channel: ${{ env.CI_SLACK_CHANNEL }}
101+
title: "🤗 Results of the ${{ matrix.image-name }} Docker Image build"
102+
status: ${{ job.status }}
103+
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }}

.github/workflows/build_documentation.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
- doc-builder*
88
- v*-release
99
- v*-patch
10+
paths:
11+
- "src/diffusers/**.py"
12+
- "examples/**"
13+
- "docs/**"
1014

1115
jobs:
1216
build:
@@ -17,7 +21,7 @@ jobs:
1721
package: diffusers
1822
notebook_folder: diffusers_doc
1923
languages: en ko zh ja pt
20-
24+
custom_container: diffusers/diffusers-doc-builder
2125
secrets:
2226
token: ${{ secrets.HUGGINGFACE_PUSH }}
2327
hf_token: ${{ secrets.HF_DOC_BUILD_PUSH }}

.github/workflows/build_pr_documentation.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: Build PR Documentation
22

33
on:
44
pull_request:
5+
paths:
6+
- "src/diffusers/**.py"
7+
- "examples/**"
8+
- "docs/**"
59

610
concurrency:
711
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -16,3 +20,4 @@ jobs:
1620
install_libgl1: true
1721
package: diffusers
1822
languages: en ko zh ja pt
23+
custom_container: diffusers/diffusers-doc-builder

0 commit comments

Comments
 (0)