Pytorch CPU GPU调用 切换
如何在pytorch中指定CPU和GPU进行训练,以及cpu和gpu之间切换关于pytorch中cpu和gpu的事情总是搞不明白,最近清晰了很多,写下来记录一下以便日后查阅方法一:.to(device)推荐使用~1.不知道电脑gpu可不可用时:device = torch.device('cuda' if torch.cuda.is_available() else 'cpu' )a.to(dev
如何在pytorch中指定CPU和GPU进行训练,以及cpu和gpu之间切换
关于pytorch中cpu和gpu的事情总是搞不明白,最近清晰了很多,写下来记录一下以便日后查阅
方法一:.to(device)
推荐使用~
1.不知道电脑gpu可不可用时:
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu' )
a.to(device)
第一行代码的意思是判断电脑GPU可不可用,如果可用的话device就采用cuda()即调用GPU,不可用的话就采用cpu()即调用CPU。
第二行代码的意思就是把变量放到对应的device上(当然如果你用的是CPU的话就不用这一步了,因为变量默认是存在CPU上的,调用GPU的话要先把变量放到GPU上跑,跑完之后再调回CPU上)
2.指定gpu时:
device = torch.device('cuda')
2.指定cpu时:
device = torch.device('cpu')
方法二:.cuda() & .cpu()
上面的方法如果想切换CPU和GPU的话只需要修改device就行了,而这种方法相当于手动的将变量转移到CPU或者GPU,比较麻烦,不太推荐使用,这里只是演示一下用法:
1.指定gpu时:
a.cuda()
2.指定cpu时:
a.cpu()
方法三:os.environ[“CUDA_VISIBLE_DEVICES”]
其实也不算是一种方法啦,CUDA_VISIBLE_DEVICES 表示当前可以被python环境程序检测到的显卡,所以调用GPU时,加上这行代码的意思是指定GPU用哪块显卡
1.当使用gpu时:
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
把这行代码加到程序的最前面表示调用GPU时,用的是第0块显卡(如果想用第1块,把数字0改成1即可)
2.当使用cpu时:
os.environ["CUDA_VISIBLE_DEVICES"] = ' '
只需要把数字改成空格就代表使用的是CPU啦(因为空格表示检测不到显卡,所以就是CPU啦)
更多推荐



所有评论(0)