我在Keras 2.2.2,Tensorflow 1.10.0,Ubuntu 18,GTX1080Ti中具有神经网络。我使用a)所有GPU内存和b)大约一半(0.47)的内存来训练模型。在这些情况下,我得到了截然不同的结果。完整的内存-不错的结果。一半的记忆-不好。我已经重复了这些测试,结果是一致的。模型代码太复杂了,无法在此处显示,但我想知道这是否是已知的一般效果。我使用以下代码设置内存分配:
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.47
session = tf.Session(config=config)
K.set_session(session)
批处理大小是在运行时在代码中计算的,不受GPU内存分配的影响。