【问题标题】:Tensorflow 2 - Associating csv lines with image filesTensorflow 2 - 将 csv 行与图像文件相关联
【发布时间】:2021-12-29 08:01:59
【问题描述】:

这里是 Tensorflow 的新手,如果问题可能是基本的,请见谅。

我正在尝试创建一个 GAN,它将根据一小组参数和一个随机向量生成图像。

在训练集中,对于每张图片,我在 CSV 文件中也有一行与该图片相关。

CSV文件的结构是这样的:

Parameter1、Parameter2、Parameter3、ImageFile

4、7、2、Image221.png

6、0、8、Image044.png

1、4、2、Image179.png

我还有一个文件夹,其中包含具有给定文件名的图像文件。

我的问题:我想创建一个管道,它不必一次将整个数据加载到内存中进行训练(这是 tf.data.Dataset 确实表现出的行为),但我需要将每一行合并到CSV 文件及其对应的图像文件。

我知道如何使用 list_files 来使用图像,并且我知道如何使用 make_csv_dataset 来使用 CSV,但是我如何保证每个 CSV 行都必须链接到其正确的图像文件?

【问题讨论】:

    标签: image csv tensorflow-datasets


    【解决方案1】:

    对于那些面临同样问题的人,我找到了明显的解决方案:您所要做的就是创建一个 map 函数,该函数获取文件名,加载它并将加载的图像作为张量插入到替换列的列中文件名。

    Ex(一列带有文件名,一列带有类):

    import PIL
    
    def load_image(filename, class):
      img = PIL.Image.Open(filename)
      
      return img, class
    
    dataset = dataset.map(load_image)
    

    请注意,我正在使用枕头库 (PIL) 来加载图像,这不是强制性的。您可以使用任何您认为合适的方式。

    这里真正重要的是在函数中加载图像并将数据集与该函数映射。

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多