2017-03-08 99 views
0

我有形狀的2點矩陣上矩陣乘法減少GPU存儲器使用在Tensorflow

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技巧,我可以利用這樣做要做到這一點。

謝謝!

回答

0

您可以設置tf.GPUOption控制GPU內存使用情況。默認情況下,即使不構建任何計算圖,tf也會佔用大量GPU內存。

更多見https://www.tensorflow.org/api_docs/python/tf/GPUOptions。通常情況下,你可能要使用allow_growthper_process_gpu_memory_fraction財產。

+0

我想減少乘法過程的內存使用情況。 我已經在使用你提到的這兩個屬性。 – viggie

+0

如果您的矩陣非常大,您可能需要將這些矩陣固定在CPU上以降低GPU內存消耗。 – soloice

+0

也許,這似乎是唯一的黑客,但必須放開速度 – viggie