Pytorch 如何告诉Pytork不要使用GPU?
我想做一些CPU和GPU之间的时间比较,以及一些评测,我想知道是否有一种方法告诉我不要使用GPU,而只使用CPU?我意识到我只能安装另一个CPU,但希望有一个更简单的方法。在运行torch代码之前,您可以通过shell将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),依此类推。我
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的答案或此链接