from google.colab import drive
drive.mount('/content/drive', force_remount=True)
Mounted at /content/drive
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelBinarizer
from tensorflow import keras
originalModel = keras.models.load_model('/content/drive/MyDrive/Speech Recognition/orginalModel')
noisyModel = keras.models.load_model('/content/drive/MyDrive/Speech Recognition/noisyModel')
!pip3 install pickle5
import pickle5 as pickle
with open("/content/drive/MyDrive/Speech Recognition/mfcc.pickle", "rb") as fh:
data = pickle.load(fh)
data.to_pickle("p4")
dfOriginal = pd.read_pickle("p4")
with open("/content/drive/MyDrive/Speech Recognition/noisy.pickle", "rb") as fh:
data = pickle.load(fh)
data.to_pickle("p4")
dfNoisy = pd.read_pickle("p4")
Requirement already satisfied: pickle5 in /usr/local/lib/python3.7/dist-packages (0.0.11)
def data_shaper(df):
y = df['word']
X = df['mfcc']
for i in range(len(X)):
if X[i].shape == (32,32):
np.asarray(X[i]).astype(np.float32)
else:
a = np.empty([32,32])
f1 = X[i].shape[0]
f2 = X[i].shape[1]
a[:f1,:f2]=X[i]
X[i] = np.asarray(a).astype(np.float32)
X = np.dstack(X).T
print(X.shape,len(X))
from keras.layers import Normalization
layer = Normalization(mean=0., variance=1.)
X = layer(X)
lb = LabelBinarizer()
lbFit = lb.fit_transform(y)
lbFit.shape
return [X, lbFit]
def test(Model, X, y):
y_pred = Model.predict(X)
t = 0
c = 0
for i in range(len(y_pred)):
t = t+1
yyy = (np.max(y_pred[i])==y_pred[i])
yP = yyy*(np.ones([1,20])[0]).astype(np.int)
if np.array_equal(yP, y[i]):
c = c+1
if (i%5000)==0:
print(c/t)
z = c/t
print(z)
return z
X, y = data_shaper(dfOriginal)
test(originalModel,X,y)
(47348, 32, 32) 47348 1.0 0.9334133173365327 0.9343065693430657 0.9357376174921672 0.9354532273386331 0.9350425982960682 0.9352354921502617 0.9368303762749636 0.9378515537111572 0.9373125041665741 0.9382656078398243
0.9382656078398243
X, y = data_shaper(dfOriginal)
test(noisyModel,X,y)
X, y = data_shaper(dfNoisy)
test(originalModel,X,y)
X, y = data_shaper(dfNoisy)
test(noisyModel,X,y)