Spaces:
Sleeping
Sleeping
Update tasks/audio.py
Browse files- tasks/audio.py +16 -1
tasks/audio.py
CHANGED
@@ -4,6 +4,10 @@ from datasets import load_dataset
|
|
4 |
from sklearn.metrics import accuracy_score
|
5 |
import random
|
6 |
import os
|
|
|
|
|
|
|
|
|
7 |
|
8 |
from .utils.evaluation import AudioEvaluationRequest
|
9 |
from .utils.emissions import tracker, clean_emissions_data, get_space_info
|
@@ -43,6 +47,17 @@ async def evaluate_audio(request: AudioEvaluationRequest):
|
|
43 |
# Split dataset
|
44 |
train_test = dataset["train"]
|
45 |
test_dataset = dataset["test"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
# Start tracking emissions
|
48 |
tracker.start()
|
@@ -55,7 +70,7 @@ async def evaluate_audio(request: AudioEvaluationRequest):
|
|
55 |
|
56 |
# Make random predictions (placeholder for actual model inference)
|
57 |
true_labels = test_dataset["label"]
|
58 |
-
predictions =
|
59 |
|
60 |
#--------------------------------------------------------------------------------------------
|
61 |
# YOUR MODEL INFERENCE STOPS HERE
|
|
|
4 |
from sklearn.metrics import accuracy_score
|
5 |
import random
|
6 |
import os
|
7 |
+
import librosa
|
8 |
+
import joblib
|
9 |
+
import numpy as np
|
10 |
+
import lightgbm
|
11 |
|
12 |
from .utils.evaluation import AudioEvaluationRequest
|
13 |
from .utils.emissions import tracker, clean_emissions_data, get_space_info
|
|
|
47 |
# Split dataset
|
48 |
train_test = dataset["train"]
|
49 |
test_dataset = dataset["test"]
|
50 |
+
|
51 |
+
def preprocess_data(row, sr):
|
52 |
+
new_row = librosa.resample(row['audio']['array'], orig_sr=row['audio']['sampling_rate'], target_sr=sr)
|
53 |
+
new_row = np.pad(new_row, (0, 3 * sr - len(new_row)), 'constant')
|
54 |
+
new_row = librosa.feature.mfcc(y=new_row, sr=sr, n_mfcc=10)
|
55 |
+
return new_row.flatten()
|
56 |
+
|
57 |
+
test_list_mfcc = np.vstack([preprocess_data(row, 12000) for row in test_dataset])
|
58 |
+
|
59 |
+
model_filename = "lightgbm_10_mfcc.pkl"
|
60 |
+
clf = joblib.load(model_filename)
|
61 |
|
62 |
# Start tracking emissions
|
63 |
tracker.start()
|
|
|
70 |
|
71 |
# Make random predictions (placeholder for actual model inference)
|
72 |
true_labels = test_dataset["label"]
|
73 |
+
predictions = clf.predict(test_list_mfcc)
|
74 |
|
75 |
#--------------------------------------------------------------------------------------------
|
76 |
# YOUR MODEL INFERENCE STOPS HERE
|