1. 程式人生 > 其它 >訓練過程中,記憶體佔用一直升高的原因

訓練過程中,記憶體佔用一直升高的原因

技術標籤:pytorch深度學習

專案場景:

使用pytorch做模型壓縮

問題描述:

如下圖所示,訓練過程中記憶體佔用一直不斷升高。
在這裡插入圖片描述

一會記憶體就漲為了下圖所示:
在這裡插入圖片描述

經常篩查,發現問題出現在下述程式碼中:

        for w, flag, op in zip(weights,flags,self._ops):
            if flag >= 2:
                result += w * op(x)
            self._resource_size[index] = op.size
            self.
_resource_flops[index] = op.flops self._resource_mac[index] = op.mac self._resource_channel[index] = op.C_out * w index += 1

經過更詳細的篩查,發現問題出在 下面這句:

self._resource_channel[index] = op.C_out * w

原因分析:

尚不清楚原因!!!

解決方案:

將上面這句修改為下述之後,就沒問題了:
self._resource_channel[
index] = op.C_out

總結:

不明原因!!!