我正在尝试使用pytorch运行一个强化学习算法,但它一直告诉我CUDA内存不足。然而,pytorch似乎只访问了我的GPU内存的一小部分。
RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0; 4.00 GiB total capacity; 3.78 MiB already allocated; 0 bytes free; 4.00 MiB reserved in total by PyTorch)
envsm3lx1#
这并不是说PyTorch只访问了少量的GPU内存,而是PyTorch程序累积分配了Tensor到GPU内存,而2 MB的Tensor达到了限制。请尝试使用较低的批处理大小或以半精度运行模型,以保存GPU内存。
ogsagwnx2#
PyTorch应该可以使用此命令访问GPU内存。
> import os os.environ["CUDA_VISIBLE_DEVICES"] = "1"
2条答案
按热度按时间envsm3lx1#
这并不是说PyTorch只访问了少量的GPU内存,而是PyTorch程序累积分配了Tensor到GPU内存,而2 MB的Tensor达到了限制。请尝试使用较低的批处理大小或以半精度运行模型,以保存GPU内存。
ogsagwnx2#
PyTorch应该可以使用此命令访问GPU内存。