美文网首页
torch GPU vs CPU

torch GPU vs CPU

作者: 布口袋_天晴了 | 来源:发表于2019-08-08 19:12 被阅读0次

0.导读

RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 'mat2'
运行错误:程序运行后端是CPU,但参数是CUDA
即:需要一个 CPU tensor, 你给的却是个 CUDA tensor

解决以上问题,需要慢慢查找,比较难以确定事发地点,如文章所说。
为了尽快解决这个问题,试试Pytorch调试神器TorchSnooper
将torch的GPU代码改造为CPU的好处是什么?
答:对于实验狗来说,不想实验的进度被4个GPU限制者,每个程序得跑1-2天,2天下来,才跑了四个对比实验,严重影响速度。CPU可以nohup多个程序后台运行。

1.安装神器

pip install torchsnooper
安装完了以后,只需要用 @torchsnooper.snoop() 装饰一下要调试的函数,这个函数在执行的时候,就会自动 print 出来每一行的执行结果的 tensor 的形状、数据类型、设备、是否需要梯度的信息。

2.使用神器,检查问题

解决问题,将device="cuda"的字段注释掉,更多使用方法:Pytorch调试神器TorchSnooper 需要时再仔细看。

3.如果再转为GPU代码

将self.cuda设置为True,然后让数据都对应到CUDA空间内,如下图所示:

4.时间对比 GPU vs CPU

测试结果,明显对比出,GPU能为训练的模型加速16倍了。。。。。。

cpu_train_epoch_1 = 126.8秒 = 2分钟
cpu_train_epoch_2 = 126.8秒 = 2分钟
cpu_test = 59.9秒 = 1分钟
gpu_train_epoch_1 = 7.8秒 
gpu_train_epoch_2 = 7.6秒 
gpu_test = 22秒 
cpu
gpu

5.一个GPU可运行多个程序

如下图,GPU-0同时运行了3个程序,使用率为86%;GPU-3同时运行了2个程序,使用率为40%。 只要显卡没被100%占用,那么其他程序也仍可以调用。

6.n个程序 vs 1个程序 共用一个GPU

多个程序共用一个GPU,有时候会发生资源等待,所以耗时会增加。
一个程序用一个GPU,资源充足,不会发生资源等待问题,速度比多个程序用一个GPU快。


5个程序使用一个GPU
1个程序使用一个GPU

相关文章

  • torch GPU vs CPU

    0.导读 RuntimeError: Expected object of backend CPU but got...

  • CPU VS GPU

    ##CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。在现代iOS...

  • CPU vs GPU

    CPU Central Processing Unit,中央处理器。主要由运算器、控制器、寄存器三部分组成,从字面...

  • tensorflow基础 2020-11-09

    1.cpu vs gpu cpu: 几个科学家gpu: 成千上万个初中生 GPU的工作大部分是大量、重复、基础的计...

  • CPU && GPU

    CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。在现代iOS设备...

  • 调试工具Instruments-前篇

    CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。在现代iOS设备...

  • iOS核心动画高级技巧学习---性能调优

    CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。在现代iOS设备...

  • iOS开发--性能调优记录

    CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。但是由于历史原因...

  • 1.2 GPU VS CPU

    文章内容源自《GPU编程与CG语言之阳春白雪下里巴人》,因笔者读书易中途放弃,遂每读一章节,将其移至简书平台,以此...

  • GPU vs CPU in iOS

    一直以来,我们做产品的时候并没有特别的去考虑CPU/GPU的使用,最近为了提升可视化功能的性能,发现合理使用GPU...

网友评论

      本文标题:torch GPU vs CPU

      本文链接:https://www.haomeiwen.com/subject/fydfjctx.html