File size: 981 Bytes
7381480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""Evaluate an audio file using the packaged turn-taking question."""

import argparse
import json
from pathlib import Path

import torch
from transformers import AutoModel, AutoProcessor

parser = argparse.ArgumentParser()
parser.add_argument("audio")
parser.add_argument("--model", default=str(Path(__file__).resolve().parents[1]))
args = parser.parse_args()
policy = json.loads((Path(__file__).with_name("turn_policy.json")).read_text())
processor = AutoProcessor.from_pretrained(args.model, trust_remote_code=True)
model = AutoModel.from_pretrained(
    args.model,
    trust_remote_code=True,
    dtype=torch.bfloat16,
    device_map="auto",
    attn_implementation="sdpa",
)
inputs = processor(audio=args.audio, state={}, questions=policy["questions"])
inputs = inputs.to(model.device, dtype=torch.bfloat16)
with torch.inference_mode():
    outputs = model(**inputs)
result = processor.post_process(outputs, questions=policy["questions"])
print(json.dumps(result, indent=2))