读取两个不同类型的数据同步的不同tfrecords

时间:2018-06-17 13:23:46

标签: python tensorflow tfrecord

我有两个不同的tfrecords文件,其结构如下 -

feature {
  key: "file_name"
  value {
    bytes_list {
      value: "2.jpg"
    }
  }
}
feature {
  key: "float_pic"
  value {
    float_list {... }
  }
}

它存储文件名和float32矩阵

feature {
  key: "file_name"
  value {
    bytes_list {
      value: "2.jpg"
    }
  }
}
feature {
  key: "image_raw"
  value {
    bytes_list {... }
  }
}

它存储图像名称和图像像素值。

我想同步阅读这两个tfrecords文件。但我真的不知道怎么做?

这样的事情 -

def getbatch(tf_filename1, tf_filename2):
   filename_queue = tf.train.string_input_producer(
                   [tf_filename1,tf_filename2], num_epochs=1)
   reader = tf.TFRecordReader()
   key, serialized_example = reader.read(filename_queue)
   features = tf.parse_single_example(
        serialized_example,
        features={
        'file_name': tf.FixedLenFeature([], tf.string),
        'float_pic': tf.VarLenFeature(dtype=tf.float32),
         //How to use tf_filename2 data here 
        'file_name2': tf.FixedLenFeature([], tf.string),
        'image_raw': tf.FixedLenFeature([], tf.string)

    }) 
   //do more decoding
   return tf.train.batch([file_name,float_pic,file_name2,image_raw],1)

我见过许多使用多个tfrecord文件的例子,但所有tfrecord文件都有相同类型的数据。所以我真的很想知道是否真的可以这样做。

我也尝试使用tf.train.slice_input_producer,但在这种情况下它没用。 如果您需要我方的更多解释,请告诉我。

0 个答案:

没有答案