File size: 1,753 Bytes
33569f9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | """Tiny standalone test to reproduce 'weight must be 2-D' from probe_batch.
Loads ONE cached video_inputs, calls slice_video_by_time, then runs
prober.probe_batch with a single probe. Prints the full traceback.
"""
import json
import os
import sys
import traceback
import torch
sys.path.insert(0, "/mnt/local-fast/zhangt/forensics_grpo")
from src.open_r1.binary_prober import BinaryProber, slice_video_by_time
CACHE_DIR = "/mnt/local-fast/zhangt/forensics_grpo_cache_uniform3584_fps2.0/test/fcvg/0DVVD+2.80=14.30=charades@test_delete@0DVVD@287@fcvg"
MODEL_PATH = "/mnt/local-fast/zhangt/Qwen2.5-VL-7B-Instruct"
vi = torch.load(os.path.join(CACHE_DIR, "video_inputs.pt"), map_location="cpu", weights_only=False)
with open(os.path.join(CACHE_DIR, "video_kwargs.json")) as f:
vk = json.load(f)
print(f"video_inputs type: {type(vi)}")
if isinstance(vi, list):
print(f" outer list len: {len(vi)}")
vi = vi[0]
print(f" tensor shape: {getattr(vi, 'shape', None)} dtype: {getattr(vi, 'dtype', None)}")
print(f"video_kwargs: {vk}")
fps = vk.get("fps")
if isinstance(fps, list):
fps = fps[0]
fps = float(fps)
print(f"effective fps: {fps}")
clip = slice_video_by_time(vi, fps, 0.0, 4.0)
print(f"sliced clip shape: {getattr(clip, 'shape', None)} dtype: {getattr(clip, 'dtype', None)}")
print("\n=== Loading prober ===")
os.environ.setdefault("LOCAL_RANK", "0")
prober = BinaryProber(model_path=MODEL_PATH)
print(f"yes_token_id={prober.yes_token_id} no_token_id={prober.no_token_id}")
print("\n=== Calling probe_batch ===")
try:
out = prober.probe_batch(
[clip], [fps],
["Watch the following short video clip. Is it internally coherent?"],
)
print("OUTPUT:", out)
except Exception:
traceback.print_exc()
|