NSVS / execute_with_tlv.py
Syzygianinfern0's picture
Initial clean commit for HF Spaces deployment with LFS
47875a1
from tqdm import tqdm
import json
import time
import os
from ns_vfs.nsvs import run_nsvs
from ns_vfs.video.read_tlv import TLVReader
TLV_PATH = "/nas/dataset/tlv-dataset-v1"
DEVICE = 7 # GPU device index
OUTPUT_DIR = "output"
def process_entry(entry):
foi = run_nsvs(
frames=entry['images'],
proposition=entry['tl']['propositions'],
specification=entry['tl']['specification'],
model_name="InternVL2-8B",
device=DEVICE
)
return foi
def main():
reader = TLVReader(TLV_PATH)
data = reader.read_video()
if not data:
return
with tqdm(enumerate(data), total=len(data), desc="Processing entries") as pbar:
for i, entry in pbar:
start_time = time.time()
foi = process_entry(entry)
end_time = time.time()
processing_time = round(end_time - start_time, 3)
if foi:
output = {
"tl": entry["tl"],
"metadata": entry["metadata"],
"video_info": entry["video_info"].to_dict(),
"frames_of_interest": foi,
"processting_time_seconds": processing_time
}
os.makedirs(OUTPUT_DIR, exist_ok=True)
with open(os.path.join(OUTPUT_DIR, f"output_{i}.json"), "w") as f:
json.dump(output, f, indent=4)
if __name__ == "__main__":
main()