【问题标题】:Training Keras model with multiple CSV files in multi folder in python在 python 的多个文件夹中使用多个 CSV 文件训练 Keras 模型
【发布时间】:2020-08-26 06:12:15
【问题描述】:

我有八个文件夹,每个文件夹中有 1300 个 CSV 文件(3*50),每个文件夹代表一个标签,但我不知道如何将我的数据输入到训练模型中。 不过,CNN 的初学者。

可以使用此link 访问我的 csv 文件的一部分。

【问题讨论】:

  • 我应该问你更清楚,描述你的数据格式?所有文件夹中的所有 csv 是否构成整个数据集?如果是这样,那么您应该使用pandas 并“手动”收集您的数据。
  • 所有文件都是 50 行和 3 列,这意味着它们大小相同,所有文件夹都有相同数量的文件,所有这些都构成了我的整个数据集,我文件中的数据代表了三个-轴在一秒钟内发生变化,我尝试了 pandas,但我仍然无法处理非图像数据。

标签: python csv keras conv-neural-network


【解决方案1】:

在使用 Keras 时,您可以使用 tf.data.Dataset 包,它可以帮助您做您想做的事情。

示例

这是一个示例代码,我取自我的一个项目:

# matching a glob pattern!
dataset_pro_raw = tf.data.Dataset.list_files([f"./aclImdb/{name}/pos/*.txt"], shuffle=True)
dataset_pro_i = dataset_pro_raw.interleave(
        lambda file: tf.data.TextLineDataset(file),
        # how many files should be processed concurently
        cycle_length = 20,
        # number of threads to increase the performance
        num_parallel_calls = 10
    )

首先,我们通过tf.data.Dataset.list_files() 创建一个文件列表,还要注意,文件的顺序已经被打乱了。然后通过dataset_pro_raw.interleave()我们遍历文件集并用tf.data.TextLineDataset()读取文件的内容。

这样您就可以很好地从多个 .txt 文件或任何数据源加载数据。刚开始使用是一个很大的笨拙,但它有很好的优势。目前我只使用tf.data.Dataset 生成训练数据。

有关tf.data.Dataset 的更多信息,您可能需要查看此link

【讨论】:

  • 单个文件夹看起来不错,但我不知道如何使用它访问其他文件夹,并将其分隔到不同的标签
猜你喜欢
  • 1970-01-01
  • 2015-01-05
  • 2019-10-02
  • 2020-02-16
  • 2021-11-16
  • 2022-01-22
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
相关资源
最近更新 更多