Pytorch 如何告诉Pytork不要使用GPU?

Pytorch 如何告诉Pytork不要使用GPU?,pytorch,Pytorch,我想做一些CPU和GPU之间的时间比较,以及一些评测,我想知道是否有一种方法告诉我不要使用GPU,而只使用CPU?我意识到我只能安装另一个CPU,但希望有一个更简单的方法。在运行torch代码之前,您可以通过shell将CUDA\u VISIBLE\u DEVICES变量设置为空 export CUDA\u VISIBLE\u DEVICES=”“ 应该告诉torch没有GPU 导出CUDA\u VISIBLE\u DEVICES=“0”将告诉它只使用一个GPU(id为0的GPU),依此类推。我

我想做一些CPU和GPU之间的时间比较,以及一些评测,我想知道是否有一种方法告诉我不要使用GPU,而只使用CPU?我意识到我只能安装另一个CPU,但希望有一个更简单的方法。

在运行torch代码之前,您可以通过shell将
CUDA\u VISIBLE\u DEVICES
变量设置为空

export CUDA\u VISIBLE\u DEVICES=”“

应该告诉torch没有GPU


导出CUDA\u VISIBLE\u DEVICES=“0”
将告诉它只使用一个GPU(id为0的GPU),依此类推。

我只想补充一点,在PyTorch代码中也可以这样做:

以下是一个来自以下方面的小示例:

脚本开头的
#
device=torch.device(“如果torch.cuda.is可用,则cuda:0(),否则为“cpu”)
...
#当你得到一个新的张量或模时
#如果它们已在所需设备上,则不会复制
输入=数据。到(设备)
型号=MyModule(…)。到(设备)
我认为这个例子很能自我解释。但如果有任何问题,只要问
在上面的示例中使用这种语法的一大优势是,如果没有可用的GPU,您可以创建在CPU上运行的代码,但也可以在GPU上运行,而无需更改一行代码

您也可以将设备设置为CPU,如下所示:

device=torch.device(“cpu”)
此外,您可以使用
设备
标志在所需设备上创建张量:

mytensor=torch.rand(5,5,设备=设备)
这将直接在前面指定的
设备上创建张量

我想指出,您可以使用这种语法在CPU和GPU之间切换,也可以在不同的GPU之间切换


我希望这是有帮助的

使用python的最简单方法是:

  os.environ["CUDA_VISIBLE_DEVICES"]=""
一般的 正如前面的回答所示,您可以使用以下方法在cpu上运行pytorch:

device=torch.device(“cpu”)
比较训练模型 我想添加如何在cpu上加载以前训练过的模型(示例取自)

注意:确保输入模型的所有数据也在cpu上

推荐装载量
model=model类(*args,**kwargs)
model.load\u state\u dict(torch.load(路径、映射位置=torch.device(“cpu”))
加载整个模型
model=torch.load(路径),map\u location=torch.device(“cpu”))

这似乎仍然给我一个错误:用户警告:CUDA初始化:在您的系统上找不到NVIDIA驱动程序
。您正在代码中调用
.CUDA()
?@umaggupta-我在代码中的许多地方调用
.CUDA()
。这是否意味着该代码被配置为默认使用GPU?如果是,我应该做什么更改以使其在GPU上运行?您可以将
.cuda()
替换为
.cpu()
,以确保您的代码使用cpu。这很麻烦,但我认为这是最简单的方法。将来,在顶部声明
设备
,并使用
.to
将模型/张量移动到设备。对于如何做到这一点。。。请参阅MBT的答案或此链接