update demo

This commit is contained in:
LinZhuoChen
2026-04-20 14:53:25 +08:00
parent 24f455b026
commit c1784f4dd8

15
demo.py
View File

@@ -257,8 +257,9 @@ def main():
parser.add_argument( parser.add_argument(
"--keyframe_interval", "--keyframe_interval",
type=int, type=int,
default=1, default=None,
help="Streaming only. Every N-th frame after scale frames is kept as a keyframe. 1 = every frame.", help="Streaming only. Every N-th frame after scale frames is kept as a keyframe. 1 = every frame. "
"If unset, auto-selected: 1 when num_frames <= 320, else ceil(num_frames / 320).",
) )
parser.add_argument("--kv_cache_sliding_window", type=int, default=64) parser.add_argument("--kv_cache_sliding_window", type=int, default=64)
parser.add_argument("--camera_num_iterations", type=int, default=4, parser.add_argument("--camera_num_iterations", type=int, default=4,
@@ -346,6 +347,16 @@ def main():
f"reserved={torch.cuda.memory_reserved()/1e9:.2f} GB" f"reserved={torch.cuda.memory_reserved()/1e9:.2f} GB"
) )
if args.keyframe_interval is None:
if args.mode == "streaming" and num_frames > 320:
args.keyframe_interval = (num_frames + 319) // 320
print(
f"Auto-selected --keyframe_interval={args.keyframe_interval} "
f"(num_frames={num_frames} > 320)."
)
else:
args.keyframe_interval = 1
if args.mode != "streaming" and args.keyframe_interval != 1: if args.mode != "streaming" and args.keyframe_interval != 1:
print("Warning: --keyframe_interval only applies to --mode streaming. Ignoring it for windowed inference.") print("Warning: --keyframe_interval only applies to --mode streaming. Ignoring it for windowed inference.")
args.keyframe_interval = 1 args.keyframe_interval = 1