In [1]:
import numpy as np
from keras.models import load_model
from sklearn.externals import joblib
from read_saved_models import loadCepsDenseModel, loadMfcc3dStanderdScaler, loadMfcc3dCnnModel, loadMfcc10frameStanderdScaler, loadConvLstmModel


Using TensorFlow backend.

In [2]:
file_path = "../data/songData/genres/classical/classical.00010.ceps.npy"
ceps = np.load(file_path)

t_ceps = ceps.transpose()
t_num_ceps = len(t_ceps)
t_ceps_mean = np.mean(t_ceps[int(t_num_ceps / 10):int(t_num_ceps * 9 / 10)], axis=0)
predict_data = np.array([t_ceps_mean])

In [3]:
dense_model = loadCepsDenseModel()
dense_predict_result = dense_model.predict(predict_data)
print(dense_predict_result)
print(np.argmax(dense_predict_result))


[[  1.18247539e-04   9.94438410e-01   5.84900154e-05   6.30514842e-06
    4.27116429e-05   5.09536173e-03   4.70405103e-05   9.89640757e-05
    8.89068033e-05   5.57087969e-06]]
1

In [4]:
file_path_3d = "../data/songData/genres/pop/pop.00010.mfcc3d.npy"

mfcc_3d = np.load(file_path_3d)

# standerized data
data_shape = mfcc_3d.shape
reshaped_data = mfcc_3d.reshape(1, -1)
saved_ss = loadMfcc3dStanderdScaler()
trasformed_data = saved_ss.transform(reshaped_data)
trasformed_data = trasformed_data.reshape(data_shape)
predict_data_3d = []
predict_data_3d.append(trasformed_data)
predict_data_3d = np.array(predict_data_3d)

print(predict_data_3d.shape)


(1, 3, 30, 1293)

In [5]:
file_path_cl = "../data/songData/genres/country/country.00001.mfcc_10frame.npy"

cl_data = np.load(file_path_cl)

# standerized data
cl_data_shape = cl_data.shape
reshaped_cl_data = cl_data.reshape(cl_data_shape[0], -1)
saved_cl_ss = loadMfcc10frameStanderdScaler()
trasformed_cl_data = saved_cl_ss.transform(reshaped_cl_data)
trasformed_cl_data = trasformed_cl_data.reshape(cl_data_shape)
predict_cl_data = []
predict_cl_data.append(trasformed_cl_data)
predict_cl_data = np.array(predict_cl_data)

print(predict_cl_data.shape)


(1, 1, 10, 128, 128)

In [6]:
conv_lstm_model = loadConvLstmModel()

In [7]:
conv_lstm_predict_result = conv_lstm_model.predict(predict_cl_data)
print(conv_lstm_predict_result[0])
print(np.argmax(conv_lstm_predict_result[0]))


[ 0.11747002  0.08560755  0.17334425  0.11880676  0.08818927  0.08533259
  0.07334767  0.0474162   0.13102086  0.07946486]
2