訓練過程中,記憶體佔用一直升高的原因
阿新 • • 發佈:2020-12-22
專案場景:
使用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
總結:
不明原因!!!