【问题标题】:How to load more images to memory with flow_from_directory如何使用 flow_from_directory 将更多图像加载到内存
【发布时间】:2021-04-05 00:44:05
【问题描述】:

当我使用 tensorflow 使用 flow_from_directory 加载的数据训练我的模型时,我不小心从我的训练集目录中删除了一些图像,它很快就给了我找不到文件的警告。

所以看起来它实际上是在训练期间读取图像,但由于我的数据集不是很大,而且我的内存只使用了 40%,我希望稍微提高我的训练速度。有没有办法告诉 tensorflow 在训练开始之前将更多图像预取到内存中,而不是读取当前批次需要的图像?还是我的内存没有被使用是故意的原因

【问题讨论】:

    标签: python tensorflow machine-learning deep-learning tensorflow2.0


    【解决方案1】:

    您可以更改flow_from_directory 中的一些参数,例如batch_size,默认为32
    此外,在创建数据集后,您还可以在此处增加批量大小和预取批量数 dataset.batch(batch_size).prefetch(1)
    如果您的数据集很小,您可以在加载和预处理数据之后但在 shuffling,repeating,batching, and prefetching 之前使用 dataset.cache() 缓存数据集,这样每个实例将被读取和预处理一次,而不是每个 epoch 一次。

    您还可以查看this 文档以优化使用tf.data

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      相关资源
      最近更新 更多