HeAR-s / smoke_test.py
matthewagi's picture
Switch to student-only 384D embeddings and update model card
108888b verified
Raw
History Blame Contribute Delete
1.33 kB
#!/usr/bin/env python3
"""Local smoke test for the distilled HeAR ViT-S Canon model package."""
from __future__ import annotations
import argparse
from pathlib import Path
import torch
from transformers import AutoModel
def main() -> None:
ap = argparse.ArgumentParser(description="Smoke test for local HF upload directory.")
ap.add_argument("--model-dir", type=Path, default=Path(__file__).resolve().parent)
ap.add_argument("--batch-size", type=int, default=4)
args = ap.parse_args()
model = AutoModel.from_pretrained(str(args.model_dir), trust_remote_code=True)
model.eval()
raw_audio = torch.rand((int(args.batch_size), 32000), dtype=torch.float32)
with torch.inference_mode():
out_from_wave = model(input_values=raw_audio, return_dict=True).pooler_output
spectrogram = model.preprocess_audio(raw_audio)
with torch.inference_mode():
out_from_spec = model(pixel_values=spectrogram, return_dict=True).pooler_output
max_abs = (out_from_wave - out_from_spec).abs().max().item()
print(f"model_dir={args.model_dir}")
print(f"spectrogram_shape={tuple(spectrogram.shape)}")
print(f"wave_embedding_shape={tuple(out_from_wave.shape)}")
print(f"spec_embedding_shape={tuple(out_from_spec.shape)}")
print(f"max_abs_diff_wave_vs_spec={max_abs:.8f}")
if __name__ == "__main__":
main()