From fabd8826648ad0bf60b24416d4f43684723b5511 Mon Sep 17 00:00:00 2001 From: Malar Kannan Date: Mon, 6 Nov 2017 12:36:20 +0530 Subject: [PATCH] tfrecords wip --- speech_data.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/speech_data.py b/speech_data.py index c7356b6..c48950d 100644 --- a/speech_data.py +++ b/speech_data.py @@ -90,6 +90,39 @@ def create_spectrogram_data(audio_group='audio'): audio_samples['window_count'] = audio_samples.loc[:,'spectrogram'].apply(lambda x: x.shape[0]) audio_samples.to_pickle('outputs/{}-spectrogram.pkl'.format(audio_group)) +def create_spectrogram_tfrecords(audio_group='audio'): + audio_samples = pd.read_csv( './outputs/' + audio_group + '.csv' + , names=['word','phonemes', 'voice', 'language', 'rate', 'variant', 'file'] + , quoting=csv.QUOTE_NONE) + # audio_samples = audio_samples.loc[audio_samples['word'] == + # 'sunflowers'].reset_index(drop=True) + audio_samples['file_paths'] = audio_samples.loc[:, 'file'].apply(lambda x: 'outputs/' + audio_group + '/' + x) + audio_samples['file_exists'] = apply_by_multiprocessing(audio_samples['file_paths'], os.path.exists) + audio_samples = audio_samples[audio_samples['file_exists'] == True].reset_index() + # audio_samples['spectrogram'] = apply_by_multiprocessing(audio_samples['file_paths'],generate_aiff_spectrogram)#.apply( + # audio_samples['window_count'] = audio_samples.loc[:,'spectrogram'].apply(lambda x: x.shape[0]) + # audio_samples.to_pickle('outputs/{}-spectrogram.pkl'.format(audio_group)) + + def _float_feature(value): + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + def _int64_feature(value): + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + def _bytes_feature(value): + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + writer = tf.python_io.TFRecordWriter(output_path) + + for sample in audio_samples: + example = tf.train.Example(features=tf.train.Features( + feature={ + 'label': _int64_feature([label]), + 'path': _bytes_feature([image_path]), + 'instance' : _bytes_feature([instance_id]) + } + )) + writer.write(example.SerializeToString()) + writer.close() def create_tagged_data(audio_samples): same_data, diff_data = [], []