mirror of
https://github.com/storytold/cloud-worker.git
synced 2026-10-09 00:09:43 +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
|
||||
# (up to 23040x3840) for realistic reference-encoder load.
|
||||
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",
|
||||
"bench2_ashitaka_01.jpg", "bench2_bebop_01.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 = (
|
||||
"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
|
||||
|
||||
|
||||
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=""):
|
||||
"""Full sweep: tasks x durations x resolutions at fixed 20 steps.
|
||||
|
||||
@@ -391,7 +417,7 @@ def main():
|
||||
ap = argparse.ArgumentParser(description=__doc__,
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||
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("--task", choices=["t2v", "i2v", "ref2v"])
|
||||
ap.add_argument("--model", action="append", default=[],
|
||||
@@ -430,6 +456,8 @@ def main():
|
||||
cfgs = suite_family(models["fl2va"], models["ref2va"], args.prefix)
|
||||
elif args.suite == "key":
|
||||
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:
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user