mirror of
https://github.com/storytold/cloud-worker.git
synced 2026-10-17 00:23:49 +00:00
bench: refmatrix suite — ref count (1-9) x ref resolution ladder
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+30
-2
@@ -45,10 +45,12 @@ REF2VA_DEFAULT = "minimax_h3_ref2va_pruned_int8_convrot.safetensors"
|
|||||||
# stills, anime characters (Ashitaka, Spike), forests, volcanos — large files
|
# stills, anime characters (Ashitaka, Spike), forests, volcanos — large files
|
||||||
# (up to 23040x3840) for realistic reference-encoder load.
|
# (up to 23040x3840) for realistic reference-encoder load.
|
||||||
BENCH_IMAGE = "bench2_jp_01.jpg"
|
BENCH_IMAGE = "bench2_jp_01.jpg"
|
||||||
|
# Node schema allows up to 9 reference images (plus 3 ref videos + 3 audios).
|
||||||
BENCH_REF_SET = ["bench2_jp_01.jpg", "bench2_jp_gate_01.png",
|
BENCH_REF_SET = ["bench2_jp_01.jpg", "bench2_jp_gate_01.png",
|
||||||
"bench2_ashitaka_01.jpg", "bench2_bebop_01.jpg",
|
"bench2_ashitaka_01.jpg", "bench2_bebop_01.jpg",
|
||||||
"bench2_forest_01.jpg", "bench2_forest_02.jpg",
|
"bench2_forest_01.jpg", "bench2_forest_02.jpg",
|
||||||
"bench2_volcano_01.jpg", "bench2_volcano_02.png"]
|
"bench2_volcano_01.jpg", "bench2_volcano_02.png",
|
||||||
|
"bench2_jp_02.jpg"]
|
||||||
|
|
||||||
T2V_PROMPT = (
|
T2V_PROMPT = (
|
||||||
"Cinematic aerial shot slowly orbiting a coastal lighthouse at golden hour, "
|
"Cinematic aerial shot slowly orbiting a coastal lighthouse at golden hour, "
|
||||||
@@ -354,6 +356,30 @@ def suite_key(fl2va, ref2va, prefix="", repeats=3):
|
|||||||
return cfgs
|
return cfgs
|
||||||
|
|
||||||
|
|
||||||
|
def suite_refmatrix(ref2va, prefix=""):
|
||||||
|
"""Reference-variety matrix: ref count x ref resolution.
|
||||||
|
|
||||||
|
Counts 1/2/4/8/9 at native ref size (match sizing); at 8 refs, a
|
||||||
|
resolution ladder from 0.1 MP pre-downscaled up to 'max' (2048px) sizing.
|
||||||
|
864x480 5 s canvas throughout.
|
||||||
|
"""
|
||||||
|
cfgs = []
|
||||||
|
for n in (1, 2, 4, 8, 9):
|
||||||
|
cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 70,
|
||||||
|
f"{prefix}rm_{n}ref_full", warm=True, ref_count=n))
|
||||||
|
for ds in (0.1, 0.2, 0.4):
|
||||||
|
cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 71,
|
||||||
|
f"{prefix}rm_8ref_ds{int(ds*100):03d}", warm=True,
|
||||||
|
ref_count=8, ref_downscale=ds))
|
||||||
|
cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 72,
|
||||||
|
f"{prefix}rm_4ref_max", warm=True, ref_count=4,
|
||||||
|
ref_image_size="max"))
|
||||||
|
cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 72,
|
||||||
|
f"{prefix}rm_9ref_max", warm=True, ref_count=9,
|
||||||
|
ref_image_size="max"))
|
||||||
|
return cfgs
|
||||||
|
|
||||||
|
|
||||||
def suite_sweep(fl2va, ref2va, prefix=""):
|
def suite_sweep(fl2va, ref2va, prefix=""):
|
||||||
"""Full sweep: tasks x durations x resolutions at fixed 20 steps.
|
"""Full sweep: tasks x durations x resolutions at fixed 20 steps.
|
||||||
|
|
||||||
@@ -391,7 +417,7 @@ def main():
|
|||||||
ap = argparse.ArgumentParser(description=__doc__,
|
ap = argparse.ArgumentParser(description=__doc__,
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||||
ap.add_argument("--host", default=DEFAULT_HOST)
|
ap.add_argument("--host", default=DEFAULT_HOST)
|
||||||
ap.add_argument("--suite", choices=["quick", "sweep", "refheavy", "family", "key"])
|
ap.add_argument("--suite", choices=["quick", "sweep", "refheavy", "family", "key", "refmatrix"])
|
||||||
ap.add_argument("--repeats", type=int, default=3)
|
ap.add_argument("--repeats", type=int, default=3)
|
||||||
ap.add_argument("--task", choices=["t2v", "i2v", "ref2v"])
|
ap.add_argument("--task", choices=["t2v", "i2v", "ref2v"])
|
||||||
ap.add_argument("--model", action="append", default=[],
|
ap.add_argument("--model", action="append", default=[],
|
||||||
@@ -430,6 +456,8 @@ def main():
|
|||||||
cfgs = suite_family(models["fl2va"], models["ref2va"], args.prefix)
|
cfgs = suite_family(models["fl2va"], models["ref2va"], args.prefix)
|
||||||
elif args.suite == "key":
|
elif args.suite == "key":
|
||||||
cfgs = suite_key(models["fl2va"], models["ref2va"], args.prefix, args.repeats)
|
cfgs = suite_key(models["fl2va"], models["ref2va"], args.prefix, args.repeats)
|
||||||
|
elif args.suite == "refmatrix":
|
||||||
|
cfgs = suite_refmatrix(models["ref2va"], args.prefix)
|
||||||
elif args.task:
|
elif args.task:
|
||||||
model = models["ref2va"] if args.task == "ref2v" else models["fl2va"]
|
model = models["ref2va"] if args.task == "ref2v" else models["fl2va"]
|
||||||
label = args.label or f"{args.task}_{args.width}x{args.height}_{args.seconds}s"
|
label = args.label or f"{args.task}_{args.width}x{args.height}_{args.seconds}s"
|
||||||
|
|||||||
Reference in New Issue
Block a user