我可以将解码图像作为特征写入Tensorflow tfrecord然后读取吗?

时间:2018-01-29 05:42:42

标签: tensorflow jpeg decode tfrecord

我正在使用build_imagenet_data.py

中的代码构建ImageNet数据的TFRecords版本

每个图像都以字符串形式保存在tf.train.Example协议缓冲区中 example = tf.train.Example(features=tf.train.Features(feature={ 'image/height': _int64_feature(height), 'image/width': _int64_feature(width), ... 'image/encoded': _bytes_feature(image_buffer)}))

读取TFRecords文件时,需要调用tf.parse_single_example op和tf.image.decode_jpeg op。

我想知道我可以将解码后的图像作为特征存储到tf.train.Example功能吗?

如果没问题,在读取TFRecords文件时不会调用tf.image.decode_jpeg op。这样可以节省很多时间。

1 个答案:

答案 0 :(得分:0)

你绝对可以做到。但是,这会大大增加TFRecord文件的大小。由于jpeg图像通常使用8位,因此您可以将其作为bytes_list功能传递。可以找到关于如何做到这一点的一个很好的例子here