【发布时间】:2019-04-02 08:42:46
【问题描述】:
在this file找到一行代码:
out_a, out_p, out_n = model(data_a), model(data_p), model(data_n)
如您所见forward()函数在backward()之前被多次调用,在我的测试中,GPU消耗会相应增加,因此会发生GPU内存泄漏。这里的问题是:
- 如何解决这个问题?
- 是否可以将模型用作这三个连续调用的纯特征提取器(当然要进行一些修改),然后在第四次调用时将其用作
forward(),如果“是”,如何实现?
【问题讨论】:
-
我是否正确地理解了您只想计算
out_X值,然后在第四次调用中使用它们进行反向计算?您是否已经研究过model.eval()(我认为较新的 PyTorch 版本可能会有不同的模式)?
标签: memory-leaks gpu pytorch