我有2个形状矩阵
a: [1, 3, 3, 512, 512]
b: [1, 14, 14, 3, 3, 512,1]
输出是通过
获得的 output = tf.multiply(a,b)
并且有形状
output: [1, 14, 14, 3, 3, 512, 512]
仅此操作需要大约5GB的GPU内存。我想知道是否有任何方法可以减少这种内存消耗(因为我将来会为相同的操作使用更大的矩阵)。
我尝试了将a
和b
转换为半精度的解决方法。这也无助于减少内存使用量。
很高兴知道Tensorflow中是否有任何可以利用的技巧来做到这一点。
谢谢!
答案 0 :(得分:0)
您可以设置tf.GPUOption
来控制GPU内存使用量。默认情况下,即使您没有构建任何计算图,tf也会占用大量GPU内存。
有关详情,请参阅https://www.tensorflow.org/api_docs/python/tf/GPUOptions。通常,您可能希望使用allow_growth
或per_process_gpu_memory_fraction
属性。