如何从csv文件生成tfrecord以实现计算机视觉

问题描述

我想生成tfrecord来训练辅助分类生成对抗网络。我的数据集CSV文件的列标题如下:

input_image,target_image,标签

我试图按照https://www.tensorflow.org/tutorials/load_data/tfrecord中给出的说明生成tfrecord。

我创建了解析图像和标签功能

def image_example(inp,tar,label):
  inpS = tf.image.decode_jpeg(inp).shape
  tarS = tf.image.decode_jpeg(tar).shape

  feature1 = {
      'height': _int64_feature(inpS[0]),'width': _int64_feature(inpS[1]),'depth': _int64_feature(inpS[2]),'label': _int64_feature(label),'image_raw': _bytes_feature(inp),}

  feature2 = {
      'height': _int64_feature(tarS[0]),'width': _int64_feature(tarS[1]),'depth': _int64_feature(tarS[2]),'image_raw': _bytes_feature(tar),}
  data = tf.train.Example(features=tf.train.Features(feature=(feature1,feature2)))

  return data

要序列化此数据,我正在使用:

record_file = './images.tfrecords'
with tf.io.TFRecordWriter(record_file) as writer:
  for img1,img2,label in zip(Afiles,Bfiles,labels):
    inp = open(pathA+img1,'rb').read()
    tar = open(pathB+img2,'rb').read()
    tf_example = image_example(inp,label)
    writer.write(tf_example.SerializetoString())

但这不起作用。

如何为我的问题创建tfrecord?

我应该对input_image和target_image使用不同的tfrecords吗?

解决方法

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

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

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