如何用非常大的数据集训练Keras模型?



我正在尝试使用TensorFlow和Keras训练一个自动编码器。我的训练数据有超过200K的512x128未标记的图像。如果我想将数据加载到一个矩阵中,它的形状将是(200000,512,128,3)。这是几百GB的RAM空间。我知道我可以在训练时减少批处理大小,但这是为了限制GPU/CPU的内存使用。

是否有解决这个问题的方法?

您可以使用tf。用于延迟加载图像的data API…下面的教程将详细介绍…

  • https://www.tensorflow.org/tutorials/load_data/images

也查看tf.data.Dataset。prefetch, tf.data.Dataset.batch和tf.data.Dataset.cache方法来优化性能…

  • https://www.tensorflow.org/guide/data
  • https://www.tensorflow.org/guide/data_performance

您还可以将数据预处理为TFRecords,以便在您的训练管道中读取它们之前更有效地读取它们…

  • https://www.tensorflow.org/tutorials/load_data/tfrecord tfrecord_files_using_tfdata

最新更新