创建tfrecord的代码:
def convert(self):
with tf.python_io.TFRecordWriter(self.tfrecord_out) as writer:
example = self._convert_image()
writer.write(example.SerializeToString())
def _convert_image(self):
for (path, label) in zip(self.image_paths, self.labels):
label = int(label)
# Read image data in terms of bytes
with open(path, 'rb') as fid:
png_bytes = fid.read()
example = tf.train.Example(features=tf.train.Features(feature={
'image': tf.train.Feature(bytes_list=tf.train.BytesList(value=[png_bytes]))
}))
return example
我的问题是,当我从文件中读取图像时,图像无法正确解码:
def parse(self, serialized):
features = \
{
'image': tf.FixedLenFeature([], tf.string)
}
parsed_example = tf.parse_single_example(serialized=serialized,
features=features)
image_raw = parsed_example['image']
image = tf.image.decode_png(contents=image_raw, channels=3, dtype=tf.uint8)
image = tf.cast(image, tf.float32)
return image`
有人知道为什么吗?
答案 0 :(得分:0)