Merge branch 'master' of ssh://invnuc/~/Public/Repos/speech_scoring
commit
1b0ba26a6e
|
|
@ -161,7 +161,7 @@ def read_siamese_tfrecords_generator(audio_group='audio',batch_size=32,test_size
|
||||||
input_data.append(np.asarray([p_spec1,p_spec2]))
|
input_data.append(np.asarray([p_spec1,p_spec2]))
|
||||||
output = example.features.feature['output'].int64_list.value
|
output = example.features.feature['output'].int64_list.value
|
||||||
output_data.append(np.asarray(output))
|
output_data.append(np.asarray(output))
|
||||||
if len(input_data) == batch_size:
|
if len(input_data) == batch_size or i == n_records-1:
|
||||||
input_arr = np.asarray(input_data)
|
input_arr = np.asarray(input_data)
|
||||||
output_arr = np.asarray(output_data)
|
output_arr = np.asarray(output_data)
|
||||||
yield ([input_arr[:, 0], input_arr[:, 1]],output_arr)
|
yield ([input_arr[:, 0], input_arr[:, 1]],output_arr)
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ from keras.utils import to_categorical
|
||||||
from keras.optimizers import RMSprop
|
from keras.optimizers import RMSprop
|
||||||
from keras.callbacks import TensorBoard, ModelCheckpoint
|
from keras.callbacks import TensorBoard, ModelCheckpoint
|
||||||
from keras import backend as K
|
from keras import backend as K
|
||||||
from speech_tools import create_dir
|
from speech_tools import create_dir,step_count
|
||||||
|
|
||||||
# def euclidean_distance(vects):
|
# def euclidean_distance(vects):
|
||||||
# x, y = vects
|
# x, y = vects
|
||||||
|
|
@ -96,7 +96,7 @@ def load_model_arch(mod_file):
|
||||||
def train_siamese(audio_group = 'audio'):
|
def train_siamese(audio_group = 'audio'):
|
||||||
# the data, shuffled and split between train and test sets
|
# the data, shuffled and split between train and test sets
|
||||||
# tr_pairs, te_pairs, tr_y_e, te_y_e = speech_model_data()
|
# tr_pairs, te_pairs, tr_y_e, te_y_e = speech_model_data()
|
||||||
batch_size = 128
|
batch_size = 256
|
||||||
model_dir = './models/'+audio_group
|
model_dir = './models/'+audio_group
|
||||||
create_dir(model_dir)
|
create_dir(model_dir)
|
||||||
log_dir = './logs/'+audio_group
|
log_dir = './logs/'+audio_group
|
||||||
|
|
@ -141,12 +141,14 @@ def train_siamese(audio_group = 'audio'):
|
||||||
# epochs=100,
|
# epochs=100,
|
||||||
# validation_data=([te_pairs[:, 0], te_pairs[:, 1]], te_y),
|
# validation_data=([te_pairs[:, 0], te_pairs[:, 1]], te_y),
|
||||||
# callbacks=[tb_cb, cp_cb])
|
# callbacks=[tb_cb, cp_cb])
|
||||||
|
epoch_n_steps = step_count(n_records,batch_size)
|
||||||
model.fit_generator(tr_gen
|
model.fit_generator(tr_gen
|
||||||
,epochs=1000
|
, epochs=1000
|
||||||
,steps_per_epoch=n_records//batch_size
|
, steps_per_epoch=epoch_n_steps
|
||||||
,validation_data=([te_pairs[:, 0], te_pairs[:, 1]], te_y)
|
, validation_data=([te_pairs[:, 0], te_pairs[:, 1]], te_y)
|
||||||
,use_multiprocessing=True, workers=1
|
# ,use_multiprocessing=True, workers=1
|
||||||
,callbacks=[tb_cb, cp_cb])
|
, max_queue_size=32
|
||||||
|
, callbacks=[tb_cb, cp_cb])
|
||||||
model.save(model_dir+'/siamese_speech_model-final.h5')
|
model.save(model_dir+'/siamese_speech_model-final.h5')
|
||||||
# compute final accuracy on training and test sets
|
# compute final accuracy on training and test sets
|
||||||
# y_pred = model.predict([tr_pairs[:, 0], tr_pairs[:, 1]])
|
# y_pred = model.predict([tr_pairs[:, 0], tr_pairs[:, 1]])
|
||||||
|
|
@ -160,5 +162,5 @@ def train_siamese(audio_group = 'audio'):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
train_siamese('story_words')
|
train_siamese('story_words_test')
|
||||||
# train_siamese('audio')
|
# train_siamese('audio')
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import os
|
import os
|
||||||
|
import math
|
||||||
import threading
|
import threading
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
@ -11,6 +12,9 @@ from speech_spectrum import plot_stft, generate_spec_frec
|
||||||
SAMPLE_RATE = 22050
|
SAMPLE_RATE = 22050
|
||||||
N_CHANNELS = 2
|
N_CHANNELS = 2
|
||||||
|
|
||||||
|
def step_count(n_records,batch_size):
|
||||||
|
return int(math.ceil(n_records*1.0/batch_size))
|
||||||
|
|
||||||
def file_player():
|
def file_player():
|
||||||
p_oup = pyaudio.PyAudio()
|
p_oup = pyaudio.PyAudio()
|
||||||
def play_file(audiopath,plot=False):
|
def play_file(audiopath,plot=False):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue