如何让cuda在pytorch中不可用

Sta*_*ean 4 cuda pytorch

我正在使用 cudas 运行一些代码,我需要在 CPU 上测试相同的代码来比较运行时间。为了在常规 pytorch 张量和 cuda float 张量之间做出决定,我使用的库调用 torch.cuda.is_available()。有没有简单的方法可以让这个函数返回 false?我尝试更改 Cuda 可见设备

os.environ["CUDA_VISIBLE_DEVICES"]=""
Run Code Online (Sandbox Code Playgroud)

但 torch.cuda.is_available() 仍然返回 True。我进入了 pytorch 源代码,就我而言, torch.cuda.is_avaible 返回

torch._C._cuda_getDeviceCount() > 0
Run Code Online (Sandbox Code Playgroud)

我认为我应该能够在笔记本开始时“隐藏”我的 GPU,因此设备计数等于零,但到目前为止我没有取得任何成功。如有任何帮助,我们将不胜感激:)

kat*_*tsu 6

您可以torch.cuda.is_available()通过覆盖它来使 return False 。只需在程序中首先运行以下代码:

import torch
torch.cuda.is_available = lambda : False
Run Code Online (Sandbox Code Playgroud)