Update README and streaming_turn_model.py to implement half-open interval ownership for fixed-grid AV frames. Adjust verification parameters to 1 for testing, and enhance documentation for clarity on audio slicing and frame selection. Add runtime checks to prevent overlapping temporal coordinates in open-stream intervals.
This commit is contained in:
@@ -450,8 +450,8 @@ python streaming_turn_model.py \
|
||||
--start 0 --end 4 \
|
||||
--video-fps 2 \
|
||||
--strict-fixed-video-grid \
|
||||
--verify-every 5 \
|
||||
--verify-continuous-every 5 \
|
||||
--verify-every 1 \
|
||||
--verify-continuous-every 1 \
|
||||
--flash-attention-2 \
|
||||
--output features/Session_1_open_first_4s.pt
|
||||
```
|
||||
@@ -510,10 +510,12 @@ The sidecar selects the matching fixed-FPS MP4 and sets `N` to its exact
|
||||
`--strict-fixed-video-grid` is enabled.
|
||||
|
||||
In strict A+V mode the extractor does not delegate temporal frame selection to
|
||||
the generic video utility. It reads the already-fixed MP4 grid explicitly,
|
||||
uses only frames with timestamps `<= t`, and duplicates the most recent past
|
||||
frame when the visual tower needs an even frame count. Audio is loaded once at
|
||||
16 kHz and sliced exactly at each causal boundary. The processor still receives
|
||||
the generic video utility. It reads the already-fixed MP4 grid explicitly and
|
||||
assigns both video frames and audio samples with half-open intervals
|
||||
`[start, end)`. Thus a frame exactly on a two-second boundary belongs only to
|
||||
the following block. It duplicates the most recent available frame when the
|
||||
visual tower needs an even frame count. Audio is loaded once at 16 kHz and
|
||||
sliced at the same causal boundary. The processor still receives
|
||||
`use_audio_in_video=True`, so Qwen's audio/video token interleaving is retained.
|
||||
|
||||
Before a full session, run only the first four seconds and inspect both check
|
||||
@@ -528,15 +530,17 @@ python streaming_turn_model.py \
|
||||
--start 0 --end 4 \
|
||||
--video-fps 2 \
|
||||
--strict-fixed-video-grid \
|
||||
--verify-every 5 \
|
||||
--verify-continuous-every 5 \
|
||||
--verify-every 1 \
|
||||
--verify-continuous-every 1 \
|
||||
--flash-attention-2 \
|
||||
--output features/Session_1_first_4s_check.pt
|
||||
```
|
||||
|
||||
Do not launch all sessions unless `cache_replay` cosine is nearly 1. The
|
||||
`continuous_window_semantics` cosine answers a different question and may be
|
||||
lower because media-turn boundaries change the representation.
|
||||
Do not launch all sessions unless `cache_replay` cosine is nearly 1. For
|
||||
`open-stream-replay`, a materially lower `continuous_window_semantics` cosine
|
||||
means that the custom payload stitching is not equivalent to one continuous
|
||||
Qwen input; it must not be dismissed as a media-turn-boundary effect because
|
||||
this mode intentionally keeps a single media turn open.
|
||||
|
||||
Video can be sampled at 2 FPS while predictions remain at 5 Hz. Audio and the
|
||||
causal boundary update every 200 ms; consecutive prediction times may use the
|
||||
@@ -557,6 +561,7 @@ Each `.pt` file contains:
|
||||
- `config`: step, native block, memory, FPS, and pixel settings;
|
||||
- `verification`: cached-versus-exact numerical checks;
|
||||
- `input_video_fps` and `video_sampling_grid`: sampling provenance;
|
||||
- `media_interval_policy`: fixed-grid AV uses half-open `[start, end)` ownership;
|
||||
- `logits`: optional `[N, 10, 3]` output if a trained head is supplied;
|
||||
- `probabilities`: optional softmax probabilities.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user