Views
No views yet
| Parameter | Value |
|---|---|
| Base Model | facebook/wav2vec2-base |
| Framework | Hugging Face Transformers |
| Training Hardware | GPU (CUDA) |
| Task Type | Audio Classification |
| Classes | bonafide / spoof |
| Audio Sample Rate | 16 kHz |
| Input Duration | Fixed audio segments |
| Optimization | AdamW |
| Loss Function | Cross Entropy |
| Metric | Score |
|---|---|
| Accuracy | 92.8% |
| Precision | 89.7% |
| Recall | 88.0% |
| F1 Score | 88.4% |
1import torch
2import torchaudio
3import numpy as np
4from transformers import AutoFeatureExtractor, AutoModelForAudioClassification
5
6model_id = "Vansh180/deepfake-audio-wav2vec2"
7
8feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)
9model = AutoModelForAudioClassification.from_pretrained(model_id)
10
11model.eval()
12
13def predict_audio(audio_path):
14 wav, sr = torchaudio.load(audio_path)
15
16 if wav.shape[0] > 1:
17 wav = wav.mean(dim=0, keepdim=True)
18
19 inputs = feature_extractor(
20 wav.squeeze().numpy(),
21 sampling_rate=16000,
22 return_tensors="pt"
23 )
24
25 with torch.no_grad():
26 outputs = model(**inputs)
27 probs = torch.softmax(outputs.logits, dim=1)
28
29 prediction = torch.argmax(probs, dim=1).item()
30 confidence = probs[0][prediction].item()
31
32 return {
33 "prediction": model.config.id2label[prediction],
34 "confidence": confidence
35 }
36
37print(predict_audio("sample.wav"))