Repository navigation
feat(auto): separate output FPS from model conditioning - #323
Merged
Merged
Conversation
Signed-off-by: Qianli Ma <qianlim@nvidia.com>
lfengad
approved these changes
Oct 28, 2026
lfengad
enabled auto-merge (squash)
October 28, 2026 05:02
Dinghow
approved these changes
Oct 28, 2026
Xuanmeng-Zhang
approved these changes
Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to merged #316: make the documented 10-FPS RGB-only Auto configuration a runtime option rather than a manual FFmpeg postprocessing step.
Users keep synchronized 10-FPS RGB/WSM input frames unchanged and add:
Auto model conditioning defaults to 30 FPS. An explicit different
fps, including one in input JSON or a custom defaults file, is rejected with guidance to useoutput_fps. Existing requests that explicitly usefps=30continue working.Implementation and scope
base_fpsare not used to guess model identity.output_fps/ CLI--output-fps. Only the bidirectional and causal Auto video savers use the resolved playback rate, consistently for generated RGB and WSM controls. No frame dropping/duplication/interpolation; model FPS tensors, frame bounds, prompts and sampling are unchanged.Both current published Auto configs were checked read-only and already carry
per_view_caption_task=av_joint_camera_lidar_transfer:ac871d0981046cfd3e7bf99e57c449520b1f28c36f537e5f07306be5ff3f776f285d69ffe7bc4e2fThis covers the native
cosmos_framework.scripts.inferencepipeline; it does not add a new option to independent Diffusers/vLLM entry points.Validation
output_fpschanges.trained source-frame clock).Two unrelated tests were deselected from the final CPU regression command: the remote checkpoint-registry download test encountered a local uv cache installation error; the reasoner-output test requires CUDA and also fails on the unchanged base in this CPU environment. No GPU model generation or new 10-FPS visual-quality benchmark was run.
Regression command:
python -m pytest \ cosmos_framework/inference/auto_fps_test.py \ cosmos_framework/inference/common/multiview_captions_test.py \ cosmos_framework/inference/args_test.py \ cosmos_framework/inference/sim_auto_args_test.py \ cosmos_framework/inference/sim_transfer_args_test.py \ cosmos_framework/inference/inference_test.py \ cosmos_framework/inference/multiview_causal_test.py \ cosmos_framework/inference/sim_auto_dispatch_test.py \ cosmos_framework/inference/lidar_transfer_test.py \ -k 'not test_checkpoints and not test_generate_reasoner_batch_writes_outputs' \ --num-gpus=0 -q