torch7 删除cuda变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013548568/article/details/79569274

经常会在torch上会有用到删除变量的操作

a = nil

但是放到cuda上面却不是很奏效

 cutorch.setDevice(1)
 src1 = torch.CudaTensor(100000,10000,2)

这个时候会发现显存占用了很大,但是怎么来删掉src1占用的显存呢?

src1 = nil
collectgarbage();

发现这样做不是很奏效,变量虽然变成了nil,可是占用的显存还是没有释放,又不想kill掉线程重新来过,怎么办呢
!!!!!!!!!!!!!!!!
加上 THC_CACHING_ALLOCATOR=0。

github上关于该问题的链接
https://github.com/torch/cutorch/issues/396
再启动torch的时候记得加这句话,例如
这里写图片描述
这个时候再讲变量置为nil,collectgarbage就可以将占用的显存清楚了

展开阅读全文

没有更多推荐了,返回首页