fixed exception in data generation

master
Malar Kannan 2017-12-07 16:49:34 +05:30
parent 91fde710f3
commit a7f1451a7f
1 changed files with 8 additions and 7 deletions

View File

@ -113,7 +113,9 @@ def plot_segments(collection_name = 'story_test_segments'):
def generate_spec(aiff_file):
phrase_sample = pm_snd(aiff_file)
phrase_spec = phrase_sample.to_spectrogram(window_length=SPEC_WINDOW_SIZE, maximum_frequency=SPEC_MAX_FREQUENCY)
sg_db = 10 * np.log10(phrase_spec.values)
sshow_abs = np.abs(phrase_spec.values + np.finfo(phrase_spec.values.dtype).eps)
sg_db = 10 * np.log10(sshow_abs)
sg_db[sg_db < 0] = 0
return sg_db,phrase_spec
@ -142,6 +144,7 @@ def create_segments_tfrecords(collection_name='story_test_segments',sample_count
fname = g.iloc[0]['filename']
sg_db,phrase_spec = generate_spec(g.iloc[0]['file_path'])
phon_stops = []
phrase_groups.set_postfix(phrase=ph)
spec_n,spec_w = sg_db.shape
spec = sg_db.reshape(-1)
for (i,phon) in g.iterrows():
@ -177,7 +180,7 @@ def create_segments_tfrecords(collection_name='story_test_segments',sample_count
wg_sampled = reservoir_sample(word_groups,sample_count) if sample_count > 0 else word_groups
tr_audio_samples,te_audio_samples = train_test_split(wg_sampled,test_size=train_test_ratio)
write_samples(tr_audio_samples,'train')
write_samples(te_audio_samples,'test')
# write_samples(te_audio_samples,'test')
const_file = './outputs/segments/'+collection_name+'/constants.pkl'
pickle.dump((n_spec,n_features,n_records),open(const_file,'wb'))
@ -235,10 +238,8 @@ def read_segments_tfrecords_generator(collection_name='audio',batch_size=32,test
random_samples = enumerate(reservoir_sample(te_re_iterator,test_size))
for (i,string_record) in tqdm(random_samples,total=test_size):
# (i,string_record) = next(random_samples)
# string_record
example = tf.train.Example()
example.ParseFromString(string_record)
# example.features.feature['spec'].float_list.value
spec_n = example.features.feature['spec_n'].int64_list.value[0]
spec_w = example.features.feature['spec_w'].int64_list.value[0]
spec = np.array(example.features.feature['spec'].float_list.value).reshape(spec_n,spec_w)
@ -254,9 +255,9 @@ if __name__ == '__main__':
# plot_random_phrases()
# fix_csv('story_test_segments')
# plot_segments('story_test_segments')
# fix_csv('story_test')
pass
# create_segments_tfrecords('story_test')
# fix_csv('story_phrases')
# pass
create_segments_tfrecords('story_phrases', sample_count=1000)
# record_generator,input_data,output_data,copy_read_consts = read_segments_tfrecords_generator('story_test')
# tr_gen = record_generator()
# for i in tr_gen: