减少Tensorflow中矩阵乘法的GPU内存使用量

时间:2017-03-08 10:10:22

标签: python matrix tensorflow matrix-multiplication

我有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内存。我想知道是否有任何方法可以减少这种内存消耗(因为我将来会为相同的操作使用更大的矩阵)。

我尝试了将ab转换为半精度的解决方法。这也无助于减少内存使用量。

很高兴知道Tensorflow中是否有任何可以利用的技巧来做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以设置tf.GPUOption来控制GPU内存使用量。默认情况下,即使您没有构建任何计算图,tf也会占用大量GPU内存。

有关详情,请参阅https://www.tensorflow.org/api_docs/python/tf/GPUOptions。通常,您可能希望使用allow_growthper_process_gpu_memory_fraction属性。