【问题标题】:Clear variable to release memory (GPU or CPU) in Lua / Torch清除变量以释放 Lua / Torch 中的内存(GPU 或 CPU)
【发布时间】:2016-10-18 17:33:56
【问题描述】:

我正在使用 Lua/Torch 执行深度学习任务。有时我要加载一个非常大的模型,这会导致内存成本非常高,例如:

net = torch.load('./path/to/the/model.t7') 
// after this line, the GPU memory cost raises to 2800MB of 3064MB

在这种情况下,如果我想清除变量怎么办,就像在 Matlab 中通过命令 clear var; 一样?

【问题讨论】:

    标签: lua torch


    【解决方案1】:

    你可以像这样为你的变量分配一个 nil 值:

    net = nil;

    对于垃圾收集,您还可以运行:

    collectgarbage();

    此外,一旦定义它们的代码块完成,您使用本地前缀声明的所有变量都会被销毁。

    【讨论】:

    • always 将变量设为局部变量(可能除了那些少数情况......)
    猜你喜欢
    • 2018-09-04
    • 2020-07-14
    • 2011-10-06
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 2014-12-11
    相关资源
    最近更新 更多