使用Pytorch框架时,会看到某个变量后面加上如a.cuda(),那么cuda()的作用是什么呢?
一、cuda()函数的作用
在pytorch中,即使是有GPU的机器,它也不会自动使用GPU,而是需要在程序中显示指定。调用model.cuda(),可以将模型加载到GPU上去。这种方法不被提倡,而建议使用model.to(device)的方式,这样可以显示指定需要使用的计算资源,特别是有多个GPU的情况下。
二、两个数据相加
如果两个数据相加,如A和B,要么在数据后面都加上cuda(),如A.cuda()和B.cuda(),使数据在GPU上进行运算。要么使用另外一种方式,在数据后面都不加cuda(),采用CPU运算。在进行高维特征运算时候,使用GPU的效率会比使用CPU的效率高很多。如果一个数据加了cuda()而另一个数据没有加,在运算的时候,会造成类型不匹配而报错。因为GPU版本是torch.cuda.FloatTensor,CPU版本是torch.FloatTensor。
参考文章:
https://blog.csdn.net/Vodka_Lou/article/details/117456613
标签:运算,使用,pytorch,cuda,----.,GPU,数据,CPU From: https://blog.51cto.com/u_12074581/6081843