从TFRecord数据集中提取多个功能

问题描述

我得到了一个TFRecordDataset,其中包含4个麦克风和一个标签的录音。现在,我想解析此数据集,以便为所有麦克风获得4个不同的集合,但具有相同的Label。我该怎么做?

这是我的代码,我可以在其中提取Mikrophone作为功能

feature_map = {
    'spectrum_matrix1'       : tf.io.VarLenFeature(dtype=tf.float32),'spectrum_matrix2'       : tf.io.VarLenFeature(dtype=tf.float32),'spectrum_matrix3'       : tf.io.VarLenFeature(dtype=tf.float32),'spectrum_matrix4'       : tf.io.VarLenFeature(dtype=tf.float32),'spectrum_matrix_shape' : tf.io.FixedLenFeature([2],tf.int64),'RPM_Label'             : tf.io.VarLenFeature(dtype=tf.float32)}

def _parse_function(serialized):
    # Parse the input tf.Example proto using the dictionary above.
    parsed = tf.io.parse_single_example(serialized,feature_map)
    timesteps = parsed['spectrum_matrix_shape'][1]
    AmountFreq = parsed['spectrum_matrix_shape'][0]
    feature1 = tf.reshape(tf.sparse.to_dense(parsed['spectrum_matrix1']),(1,timesteps,AmountFreq))
    feature2 = tf.reshape(tf.sparse.to_dense(parsed['spectrum_matrix2']),AmountFreq))
    feature3 = tf.reshape(tf.sparse.to_dense(parsed['spectrum_matrix3']),AmountFreq))
    feature4 = tf.reshape(tf.sparse.to_dense(parsed['spectrum_matrix4']),AmountFreq))
    label = tf.reshape(tf.sparse.to_dense(parsed['RPM_Label']),1))
    return feature1,label

Train_data = tf.data.TFRecordDataset([Training_Files]).map(_parse_function)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)