从CPU RAM使用情况来看,直接在GPU上创建Pytorch变量似乎仍然会首先在CPU上创建变量

时间:2019-09-03 20:12:32

标签: pytorch

我需要直接在GPU上创建变量,因为我的CPU内存非常有限。

我在这里找到了执行此操作的方法

https://discuss.pytorch.org/t/how-to-create-a-tensor-on-gpu-as-default/2128/3

提到使用

torch.set_default_tensor_type(‘torch.cuda.FloatTensor’)

但是,当我尝试

torch.set_default_tensor_type('torch.cuda.FloatTensor')
pytorchGPUDirectCreate = torch.FloatTensor(20000000, 128).uniform_(-1, 1).cuda()

在转移到GPU ram之前,它似乎仍然占据了大部分CPU RAM。

我正在使用Google Colab。要在变量创建过程中查看RAM使用情况,请在运行单元后,转到运行时->管理会话

在使用和不使用torch.set_default_tensor_type('torch.cuda.FloatTensor')的情况下,CPU RAM最高达到11.34 GB,而GPU内存保持较低,然后GPU RAM达到9.85,CPU内存又下降。

torch.set_default_tensor_type(‘torch.cuda.FloatTensor’)似乎没什么作用

为方便起见,这是任何人都可以直接运行的笔记本的直接链接

https://colab.research.google.com/drive/1LxPMHl8yFAATH0i0PBYRURo5tqj0_An7

0 个答案:

没有答案