我正在尝试使用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