我正在尝试使用TensorFlow和Keras训练自编码器。我的训练数据有超过200,000个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