Skip to content

Commit 20614bd

Browse files
committed
fix-copies, usage in pipelines
1 parent 64aee6e commit 20614bd

19 files changed

+328
-170
lines changed

examples/community/pipeline_flux_differential_img2img.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from diffusers.schedulers import FlowMatchEulerDiscreteScheduler
3030
from diffusers.utils import (
3131
USE_PEFT_BACKEND,
32+
deprecate,
3233
is_torch_xla_available,
3334
logging,
3435
replace_example_docstring,
@@ -84,11 +85,24 @@
8485
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
8586
def calculate_shift(
8687
image_seq_len,
87-
base_seq_len: int = 256,
88-
max_seq_len: int = 4096,
89-
base_shift: float = 0.5,
90-
max_shift: float = 1.16,
88+
base_seq_len: Optional[int] = 256,
89+
max_seq_len: Optional[int] = 4096,
90+
base_shift: Optional[float] = 0.5,
91+
max_shift: Optional[float] = 1.16,
92+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
9193
):
94+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
95+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
96+
deprecate(
97+
"calculate_shift scheduler",
98+
"1.0.0",
99+
deprecation_message,
100+
standard_warn=False,
101+
)
102+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
103+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
104+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
105+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
92106
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
93107
b = base_shift - m * base_seq_len
94108
mu = image_seq_len * m + b
@@ -876,10 +890,7 @@ def __call__(
876890
image_seq_len = (int(height) // self.vae_scale_factor) * (int(width) // self.vae_scale_factor)
877891
mu = calculate_shift(
878892
image_seq_len,
879-
self.scheduler.config.base_image_seq_len,
880-
self.scheduler.config.max_image_seq_len,
881-
self.scheduler.config.base_shift,
882-
self.scheduler.config.max_shift,
893+
scheduler=self.scheduler,
883894
)
884895
timesteps, num_inference_steps = retrieve_timesteps(
885896
self.scheduler,

examples/community/pipeline_flux_rf_inversion.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from diffusers.schedulers import FlowMatchEulerDiscreteScheduler
3131
from diffusers.utils import (
3232
USE_PEFT_BACKEND,
33+
deprecate,
3334
is_torch_xla_available,
3435
logging,
3536
replace_example_docstring,
@@ -91,11 +92,24 @@
9192
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
9293
def calculate_shift(
9394
image_seq_len,
94-
base_seq_len: int = 256,
95-
max_seq_len: int = 4096,
96-
base_shift: float = 0.5,
97-
max_shift: float = 1.16,
95+
base_seq_len: Optional[int] = 256,
96+
max_seq_len: Optional[int] = 4096,
97+
base_shift: Optional[float] = 0.5,
98+
max_shift: Optional[float] = 1.16,
99+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
98100
):
101+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
102+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
103+
deprecate(
104+
"calculate_shift scheduler",
105+
"1.0.0",
106+
deprecation_message,
107+
standard_warn=False,
108+
)
109+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
110+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
111+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
112+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
99113
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
100114
b = base_shift - m * base_seq_len
101115
mu = image_seq_len * m + b
@@ -822,10 +836,7 @@ def __call__(
822836
image_seq_len = (int(height) // self.vae_scale_factor // 2) * (int(width) // self.vae_scale_factor // 2)
823837
mu = calculate_shift(
824838
image_seq_len,
825-
self.scheduler.config.base_image_seq_len,
826-
self.scheduler.config.max_image_seq_len,
827-
self.scheduler.config.base_shift,
828-
self.scheduler.config.max_shift,
839+
scheduler=self.scheduler,
829840
)
830841
timesteps, num_inference_steps = retrieve_timesteps(
831842
self.scheduler,
@@ -992,10 +1003,7 @@ def invert(
9921003
image_seq_len = (int(height) // self.vae_scale_factor // 2) * (int(width) // self.vae_scale_factor // 2)
9931004
mu = calculate_shift(
9941005
image_seq_len,
995-
self.scheduler.config.base_image_seq_len,
996-
self.scheduler.config.max_image_seq_len,
997-
self.scheduler.config.base_shift,
998-
self.scheduler.config.max_shift,
1006+
scheduler=self.scheduler,
9991007
)
10001008
timesteps, num_inversion_steps = retrieve_timesteps(
10011009
self.scheduler,

examples/community/pipeline_flux_with_cfg.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from diffusers.schedulers import FlowMatchEulerDiscreteScheduler
2929
from diffusers.utils import (
3030
USE_PEFT_BACKEND,
31+
deprecate,
3132
is_torch_xla_available,
3233
logging,
3334
replace_example_docstring,
@@ -64,13 +65,27 @@
6465
"""
6566

6667

68+
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
6769
def calculate_shift(
6870
image_seq_len,
69-
base_seq_len: int = 256,
70-
max_seq_len: int = 4096,
71-
base_shift: float = 0.5,
72-
max_shift: float = 1.16,
71+
base_seq_len: Optional[int] = 256,
72+
max_seq_len: Optional[int] = 4096,
73+
base_shift: Optional[float] = 0.5,
74+
max_shift: Optional[float] = 1.16,
75+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
7376
):
77+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
78+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
79+
deprecate(
80+
"calculate_shift scheduler",
81+
"1.0.0",
82+
deprecation_message,
83+
standard_warn=False,
84+
)
85+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
86+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
87+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
88+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
7489
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
7590
b = base_shift - m * base_seq_len
7691
mu = image_seq_len * m + b
@@ -757,10 +772,7 @@ def __call__(
757772
image_seq_len = latents.shape[1]
758773
mu = calculate_shift(
759774
image_seq_len,
760-
self.scheduler.config.base_image_seq_len,
761-
self.scheduler.config.max_image_seq_len,
762-
self.scheduler.config.base_shift,
763-
self.scheduler.config.max_shift,
775+
scheduler=self.scheduler,
764776
)
765777
timesteps, num_inference_steps = retrieve_timesteps(
766778
self.scheduler,

src/diffusers/pipelines/flux/pipeline_flux.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
from ...schedulers import FlowMatchEulerDiscreteScheduler
3434
from ...utils import (
3535
USE_PEFT_BACKEND,
36-
is_torch_xla_available,
3736
deprecate,
37+
is_torch_xla_available,
3838
logging,
3939
replace_example_docstring,
4040
scale_lora_layers,
@@ -838,7 +838,7 @@ def __call__(
838838
image_seq_len = latents.shape[1]
839839
mu = calculate_shift(
840840
image_seq_len,
841-
self.scheduler,
841+
scheduler=self.scheduler,
842842
)
843843
timesteps, num_inference_steps = retrieve_timesteps(
844844
self.scheduler,

src/diffusers/pipelines/flux/pipeline_flux_control.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from ...schedulers import FlowMatchEulerDiscreteScheduler
2727
from ...utils import (
2828
USE_PEFT_BACKEND,
29+
deprecate,
2930
is_torch_xla_available,
3031
logging,
3132
replace_example_docstring,
@@ -82,13 +83,27 @@
8283
"""
8384

8485

86+
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
8587
def calculate_shift(
8688
image_seq_len,
87-
base_seq_len: int = 256,
88-
max_seq_len: int = 4096,
89-
base_shift: float = 0.5,
90-
max_shift: float = 1.16,
89+
base_seq_len: Optional[int] = 256,
90+
max_seq_len: Optional[int] = 4096,
91+
base_shift: Optional[float] = 0.5,
92+
max_shift: Optional[float] = 1.16,
93+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
9194
):
95+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
96+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
97+
deprecate(
98+
"calculate_shift scheduler",
99+
"1.0.0",
100+
deprecation_message,
101+
standard_warn=False,
102+
)
103+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
104+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
105+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
106+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
92107
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
93108
b = base_shift - m * base_seq_len
94109
mu = image_seq_len * m + b
@@ -802,10 +817,7 @@ def __call__(
802817
image_seq_len = latents.shape[1]
803818
mu = calculate_shift(
804819
image_seq_len,
805-
self.scheduler.config.base_image_seq_len,
806-
self.scheduler.config.max_image_seq_len,
807-
self.scheduler.config.base_shift,
808-
self.scheduler.config.max_shift,
820+
scheduler=self.scheduler,
809821
)
810822
timesteps, num_inference_steps = retrieve_timesteps(
811823
self.scheduler,

src/diffusers/pipelines/flux/pipeline_flux_control_img2img.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from ...schedulers import FlowMatchEulerDiscreteScheduler
2727
from ...utils import (
2828
USE_PEFT_BACKEND,
29+
deprecate,
2930
is_torch_xla_available,
3031
logging,
3132
replace_example_docstring,
@@ -90,12 +91,24 @@
9091
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
9192
def calculate_shift(
9293
image_seq_len,
93-
scheduler,
94+
base_seq_len: Optional[int] = 256,
95+
max_seq_len: Optional[int] = 4096,
96+
base_shift: Optional[float] = 0.5,
97+
max_shift: Optional[float] = 1.16,
98+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
9499
):
95-
base_seq_len = scheduler.config.get("base_image_seq_len", 256)
96-
max_seq_len = scheduler.config.get("max_image_seq_len", 4096)
97-
base_shift = scheduler.config.get("base_shift", 0.5)
98-
max_shift = scheduler.config.get("max_shift", 1.16)
100+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
101+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
102+
deprecate(
103+
"calculate_shift scheduler",
104+
"1.0.0",
105+
deprecation_message,
106+
standard_warn=False,
107+
)
108+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
109+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
110+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
111+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
99112
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
100113
b = base_shift - m * base_seq_len
101114
mu = image_seq_len * m + b
@@ -810,10 +823,7 @@ def __call__(
810823
image_seq_len = (int(height) // self.vae_scale_factor // 2) * (int(width) // self.vae_scale_factor // 2)
811824
mu = calculate_shift(
812825
image_seq_len,
813-
self.scheduler.config.base_image_seq_len,
814-
self.scheduler.config.max_image_seq_len,
815-
self.scheduler.config.base_shift,
816-
self.scheduler.config.max_shift,
826+
scheduler=self.scheduler,
817827
)
818828
timesteps, num_inference_steps = retrieve_timesteps(
819829
self.scheduler,

src/diffusers/pipelines/flux/pipeline_flux_control_inpaint.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from ...schedulers import FlowMatchEulerDiscreteScheduler
3636
from ...utils import (
3737
USE_PEFT_BACKEND,
38+
deprecate,
3839
is_torch_xla_available,
3940
logging,
4041
replace_example_docstring,
@@ -116,12 +117,24 @@
116117
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
117118
def calculate_shift(
118119
image_seq_len,
119-
scheduler,
120+
base_seq_len: Optional[int] = 256,
121+
max_seq_len: Optional[int] = 4096,
122+
base_shift: Optional[float] = 0.5,
123+
max_shift: Optional[float] = 1.16,
124+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
120125
):
121-
base_seq_len = scheduler.config.get("base_image_seq_len", 256)
122-
max_seq_len = scheduler.config.get("max_image_seq_len", 4096)
123-
base_shift = scheduler.config.get("base_shift", 0.5)
124-
max_shift = scheduler.config.get("max_shift", 1.16)
126+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
127+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
128+
deprecate(
129+
"calculate_shift scheduler",
130+
"1.0.0",
131+
deprecation_message,
132+
standard_warn=False,
133+
)
134+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
135+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
136+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
137+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
125138
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
126139
b = base_shift - m * base_seq_len
127140
mu = image_seq_len * m + b
@@ -986,10 +999,7 @@ def __call__(
986999
image_seq_len = (int(height) // self.vae_scale_factor // 2) * (int(width) // self.vae_scale_factor // 2)
9871000
mu = calculate_shift(
9881001
image_seq_len,
989-
self.scheduler.config.base_image_seq_len,
990-
self.scheduler.config.max_image_seq_len,
991-
self.scheduler.config.base_shift,
992-
self.scheduler.config.max_shift,
1002+
scheduler=self.scheduler,
9931003
)
9941004
timesteps, num_inference_steps = retrieve_timesteps(
9951005
self.scheduler,

src/diffusers/pipelines/flux/pipeline_flux_controlnet.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from ...schedulers import FlowMatchEulerDiscreteScheduler
3333
from ...utils import (
3434
USE_PEFT_BACKEND,
35+
deprecate,
3536
is_torch_xla_available,
3637
logging,
3738
replace_example_docstring,
@@ -86,12 +87,24 @@
8687
# Copied from diffusers.pipelines.flux.pipeline_flux.calculate_shift
8788
def calculate_shift(
8889
image_seq_len,
89-
scheduler,
90+
base_seq_len: Optional[int] = 256,
91+
max_seq_len: Optional[int] = 4096,
92+
base_shift: Optional[float] = 0.5,
93+
max_shift: Optional[float] = 1.16,
94+
scheduler: Optional[FlowMatchEulerDiscreteScheduler] = None,
9095
):
91-
base_seq_len = scheduler.config.get("base_image_seq_len", 256)
92-
max_seq_len = scheduler.config.get("max_image_seq_len", 4096)
93-
base_shift = scheduler.config.get("base_shift", 0.5)
94-
max_shift = scheduler.config.get("max_shift", 1.16)
96+
if base_seq_len or max_seq_len or base_shift or max_shift or scheduler is None:
97+
deprecation_message = "Pass `scheduler` to `calculate_shift`."
98+
deprecate(
99+
"calculate_shift scheduler",
100+
"1.0.0",
101+
deprecation_message,
102+
standard_warn=False,
103+
)
104+
base_seq_len = base_seq_len or scheduler.config.get("base_image_seq_len", 256)
105+
max_seq_len = max_seq_len or scheduler.config.get("max_image_seq_len", 4096)
106+
base_shift = base_shift or scheduler.config.get("base_shift", 0.5)
107+
max_shift = max_shift or scheduler.config.get("max_shift", 1.16)
95108
m = (max_shift - base_shift) / (max_seq_len - base_seq_len)
96109
b = base_shift - m * base_seq_len
97110
mu = image_seq_len * m + b
@@ -877,10 +890,7 @@ def __call__(
877890
image_seq_len = latents.shape[1]
878891
mu = calculate_shift(
879892
image_seq_len,
880-
self.scheduler.config.base_image_seq_len,
881-
self.scheduler.config.max_image_seq_len,
882-
self.scheduler.config.base_shift,
883-
self.scheduler.config.max_shift,
893+
scheduler=self.scheduler,
884894
)
885895
timesteps, num_inference_steps = retrieve_timesteps(
886896
self.scheduler,

0 commit comments

Comments
 (0)