Tensorflow:将tf.parse_示例用于jpeg批处理

Tensorflow:将tf.parse_示例用于jpeg批处理,tensorflow,Tensorflow,我只是被这个问题绊倒了: 第一个答案建议使用tf.parse_示例,而不是解析单个示例,因为这样似乎更快。但是提供的代码不完整,我不知道如何使用它。如果我批处理然后使用parse_示例,我将得到一批特性。这意味着我需要解压该批以便解码JPEG?答案中的代码是: reader = tf.TFRecordReader() _, serialized_example = reader.read(filename_queue) features = tf.parse_single_example(

我只是被这个问题绊倒了:

第一个答案建议使用tf.parse_示例,而不是解析单个示例,因为这样似乎更快。但是提供的代码不完整,我不知道如何使用它。如果我批处理然后使用parse_示例,我将得到一批特性。这意味着我需要解压该批以便解码JPEG?答案中的代码是:

reader = tf.TFRecordReader()
 _, serialized_example = reader.read(filename_queue)
 features = tf.parse_single_example(serialized_example, features={
      image/center': tf.VarLenFeature(tf.string),
  })
 image = features['image/center']
 image_decoded = tf.image.decode_jpeg(image.values[0], channels=3)
 return image_decoded
并建议改为:

batch = tf.train.batch([serialized_example], num_examples, capacity=num_examples)
parsed_examples = tf.parse_example(batch, feature_spec)

但是我现在如何解码那些解析的例子呢?

我也有同样的问题。我采用的方法是使用TensorFlow的

batch = tf.train.batch([serialized_example], num_examples, capacity=num_examples)

parsed_examples = tf.parse_example(batch, 
    features={
        'image_jpg': tf.FixedLenFeature([], tf.string),
    })

raw_bytes_batch = parsed_examples['image_jpg']

def decode(raw_bytes):
    return tf.image.decode_jpeg(raw_bytes, channels=3)

image_decoded = tf.map_fn(decode, raw_bytes_batch, dtype=tf.uint8,
                          back_prop=False, parallel_iterations=10)
# image_decoded.set_shape([None, ..., ..., 3])

这应该在JPEG上并行运行
解码
功能。

按原样执行时会发生什么?据我所知,它应该解码整批示例。啊,很抱歉,我从另一个问题复制了代码,没有意识到它有点不同。我用JPEG。。。我会编辑这个问题!我认为tf.image.decode\u jpeg不支持批处理