Skip to content

Commit 4c53f10

Browse files
authored
[Test] Serving flux2_image_edit test add ulysses-anything test (#641)
* ud * ud * Revert serving-side resolution alignment; rely on Ulysses Anything Attention * ud * ud * ud
1 parent 3c6a985 commit 4c53f10

File tree

1 file changed

+37
-18
lines changed

1 file changed

+37
-18
lines changed

tests/serving/test_flux2_image_edit_serving.py

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
"""
2+
CUDA_VISIBLE_DEVICES=4,5,6,7 torchrun --nproc_per_node=4 \
3+
-m cache_dit.serve.serve \
4+
--model-path black-forest-labs/FLUX.2-dev \
5+
--parallel-type ulysses \
6+
--parallel-text-encoder \
7+
--quantize-type float8_wo \
8+
--attn _flash_3 \
9+
--cache \
10+
--compile \
11+
--ulysses-anything
12+
"""
13+
114
import os
215
import requests
316
import base64
@@ -22,27 +35,19 @@ def call_api(prompt, image_urls=None, name="test", **kwargs):
2235
if image_urls:
2336
payload["image_urls"] = image_urls
2437

25-
try:
26-
response = requests.post(url, json=payload, timeout=300)
27-
response.raise_for_status()
28-
29-
result = response.json()
30-
31-
if "images" not in result or len(result["images"]) == 0:
32-
return None
33-
34-
img_data = base64.b64decode(result["images"][0])
35-
img = Image.open(BytesIO(img_data))
38+
response = requests.post(url, json=payload, timeout=300)
39+
response.raise_for_status()
40+
result = response.json()
41+
assert "images" in result and len(result["images"]) > 0, "No images in response"
3642

37-
filename = f"{name}.png"
38-
img.save(filename)
43+
img_data = base64.b64decode(result["images"][0])
44+
img = Image.open(BytesIO(img_data))
3945

40-
print(f"Saved: {filename}")
41-
return filename
46+
filename = f"{name}.png"
47+
img.save(filename)
4248

43-
except Exception as e:
44-
print(f"Error: {e}")
45-
return None
49+
print(f"Saved: {filename} ({img.size[0]}x{img.size[1]})")
50+
return filename
4651

4752

4853
def test_single():
@@ -89,8 +94,22 @@ def test_text():
8994
)
9095

9196

97+
def test_text_ulysses_bad_resolution_regression():
98+
filename = call_api(
99+
prompt="A beautiful landscape with mountains and lakes",
100+
name="text_gen_724x1080",
101+
width=724,
102+
height=1080,
103+
num_inference_steps=8,
104+
)
105+
img = Image.open(filename)
106+
assert img.size == (720, 1080)
107+
return filename
108+
109+
92110
if __name__ == "__main__":
93111
test_single()
94112
test_multi()
95113
test_base64()
96114
test_text()
115+
test_text_ulysses_bad_resolution_regression()

0 commit comments

Comments
 (0)