implemented pair data inspection

master
Malar Kannan 2017-11-17 17:29:48 +05:30
parent c81a7b4468
commit 3ae8dc50a2
1 changed files with 38 additions and 3 deletions

View File

@ -103,6 +103,38 @@ def evaluate_siamese(records_file,audio_group='audio',weights = 'siamese_speech_
"expected","predicted","success"]) "expected","predicted","success"])
result_data.to_csv('./outputs/' + audio_group + '.results.csv') result_data.to_csv('./outputs/' + audio_group + '.results.csv')
def inspect_tfrecord(records_file,audio_group='audio'):
record_iterator,records_count = record_generator_count(records_file)
all_results = []
for (i,string_record) in tqdm(enumerate(record_iterator),total=records_count):
# string_record = next(record_iterator)
example = tf.train.Example()
example.ParseFromString(string_record)
spec_n1 = example.features.feature['spec_n1'].int64_list.value[0]
spec_n2 = example.features.feature['spec_n2'].int64_list.value[0]
word = example.features.feature['word'].bytes_list.value[0].decode()
phoneme1 = example.features.feature['phoneme1'].bytes_list.value[0].decode()
phoneme2 = example.features.feature['phoneme2'].bytes_list.value[0].decode()
voice1 = example.features.feature['voice1'].bytes_list.value[0].decode()
voice2 = example.features.feature['voice2'].bytes_list.value[0].decode()
language = example.features.feature['language'].bytes_list.value[0].decode()
rate1 = example.features.feature['rate1'].int64_list.value[0]
rate2 = example.features.feature['rate2'].int64_list.value[0]
variant1 = example.features.feature['variant1'].bytes_list.value[0].decode()
variant2 = example.features.feature['variant2'].bytes_list.value[0].decode()
file1 = example.features.feature['file1'].bytes_list.value[0].decode()
file2 = example.features.feature['file2'].bytes_list.value[0].decode()
output_arr = np.asarray([example.features.feature['output'].int64_list.value])
expected = output_arr[0]
result = {"phoneme1":phoneme1,"phoneme2":phoneme2,"voice1":voice1
,"voice2":voice2,"rate1":rate1,"rate2":rate2,"spec_n1":spec_n1
,"spec_n2":spec_n2,"variant1":variant1,"variant2":variant2
,"file1":file1,"file2":file2,"expected":expected[0]}
all_results.append(result)
result_data = pd.DataFrame(all_results,columns=["phoneme1","phoneme2"
,"voice1","voice2","rate1","rate2","spec_n1","spec_n2","variant1","variant2","file1","file2",
"expected"])
result_data.to_csv('./outputs/' + audio_group + '.pairs.csv')
def play_results(audio_group='audio'): def play_results(audio_group='audio'):
result_data = pd.read_csv('./outputs/' + audio_group + '.results.csv') result_data = pd.read_csv('./outputs/' + audio_group + '.results.csv')
@ -133,8 +165,10 @@ def play_results(audio_group='audio'):
def visualize_results(audio_group='audio'): def visualize_results(audio_group='audio'):
# %matplotlib inline # %matplotlib inline
audio_group = 'story_phrases' audio_group = 'story_phrases'
source = pd.read_csv('./outputs/'+audio_group+'.pairs.csv',index_col=0)
source.groupby(['voice1','voice2']).size()
result = pd.read_csv('./outputs/' + audio_group + '.results.csv',index_col=0) result = pd.read_csv('./outputs/' + audio_group + '.results.csv',index_col=0)
result.groupby('success').size().plot(kind='bar') # result.groupby('success').size().plot(kind='bar')
result.describe(include=['object']) result.describe(include=['object'])
failed = result[result['success'] == False] failed = result[result['success'] == False]
same_failed = failed[failed['variant1'] == failed['variant2']] same_failed = failed[failed['variant1'] == failed['variant2']]
@ -145,9 +179,10 @@ def visualize_results(audio_group='audio'):
if __name__ == '__main__': if __name__ == '__main__':
# evaluate_siamese('./outputs/story_words_test.train.tfrecords',audio_group='story_words.gpu',weights ='siamese_speech_model-58-epoch-0.00-acc.h5') # evaluate_siamese('./outputs/story_words_test.train.tfrecords',audio_group='story_words.gpu',weights ='siamese_speech_model-58-epoch-0.00-acc.h5')
# evaluate_siamese('./outputs/story_words.test.tfrecords',audio_group='story_words',weights ='siamese_speech_model-675-epoch-0.00-acc.h5') # evaluate_siamese('./outputs/story_words.test.tfrecords',audio_group='story_words',weights ='siamese_speech_model-675-epoch-0.00-acc.h5')
evaluate_siamese('./outputs/story_phrases.test.tfrecords',audio_group='story_phrases',weights ='siamese_speech_model-329-epoch-0.00-acc.h5') # evaluate_siamese('./outputs/story_phrases.test.tfrecords',audio_group='story_phrases',weights ='siamese_speech_model-329-epoch-0.00-acc.h5')
# play_results('story_words') # play_results('story_words')
visualize_results('story_words.gpu') inspect_tfrecord('./outputs/story_phrases.test.tfrecords',audio_group='story_phrases')
# visualize_results('story_words.gpu')
# test_with('rand_edu') # test_with('rand_edu')
# sunflower_data,sunflower_result = get_word_pairs_data('sweater',15) # sunflower_data,sunflower_result = get_word_pairs_data('sweater',15)
# print(np.argmax(model.predict([sunflower_data[:, 0], sunflower_data[:, 1]]),axis=1)) # print(np.argmax(model.predict([sunflower_data[:, 0], sunflower_data[:, 1]]),axis=1))