cuda()的作用

Posted vodka、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cuda()的作用相关的知识,希望对你有一定的参考价值。


前言

使用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。

以上是关于cuda()的作用的主要内容,如果未能解决你的问题,请参考以下文章

cuda()的作用

C++ CUDA:为啥我的块尺寸不起作用?

cuda-gdb 在 Linux 上的 nsight 中不起作用

从 cuda 设备上的统一内存打印阵列不起作用

通过 cuda 实现快速并行矩阵求逆算法但有些东西不起作用

如何开启显卡CUDA功能