方法一、torch.set_num_threads(int thread) (亲测比较有效)

linux有效,不用时cpu占用能到5000%,设置3后,就到到300%。

法二、export OMP_NUM_THREADS = 1 (未测)

PyTorch 随机数生成占用 CPU 过高
今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在 CPU 中生成了随机数,然后再调用.to(device)传到 GPU,这样导致效率变得很低,并且CPU 和 GPU 都被消耗。

查阅PyTorch文档后发现,torch.randn(shape, out)可以直接在GPU中生成随机数,只要shape是tensor.cuda.Tensor类型即可。这样,就可以避免在 CPU 中生成过大的矩阵,而 shape 变量是很小的。因此,下面的代码就可以进行这种操作了。

noise = torch.cuda.FloatTensor(shape) if torch.cuda.is_available() else torch.FloatTensor(shape)
torch.randn(shape, out=noise)

windows也有效:

不设置,cpu51%,时间15ms

不设置的时候,torch会自动加载很多cpu,导致CPU占用很高。

2的时候,cpu17%,时间15ms变为25ms

4的时候,cpu34%,时间17ms

8的时候,cpu67%,

pytorch cpu占用较高相关推荐

  1. 一次单核CPU占用过高问题的处理

    客户现场反馈,top的检查结果中,一个CPU的占用一直是100%.实际上现场有4个CPU,而且这个服务器是mysql专属服务器. 我的第一反应是io_thread一类的参数设置有问题,检查以后发现re ...

  2. linux ubuntu systemd-udevd进程 cpu占用过高 解决方法

    ubuntu 18.04 systemd-udevd进程CPU占用特别高,禁用WiFi可以解决,如下: 执行 udevadm monitor ,不断输出如下信息: UDEV [13756.376116 ...

  3. linux getty进程 cpu占用过高 解决办法

    今天突然发现服务器CPU占用过高,查看了下是getty这个进程占用过高. 原因: 在使用docker run运行容器时使用了 /sbin/init和--privileged参数. 使用/sbin/in ...

  4. Java代码-CPU占用过高排查思路

    Java代码-CPU占用过高排查思路: 1.top 查看占用cpu过高的进程PID 2.top -Hbp 32048|awk '/java/ && $9>50'  查看进程中占用 ...

  5. 电脑cpu温度过高怎么办_网络资讯:电脑cpu占用过高处理办法

    今天来说一下电脑cpu占用过高处理办法这方面的一些讯息,不少朋友对电脑cpu占用过高处理办法这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息,希望对有需要的朋友有所帮助. 1.安装并使用杀毒软件全 ...

  6. Top命令找出CPU占用较高的Java线程信息

    Top命令找出CPU占用较高的Java线程信息 由于种种原因导致生产环境的应用CPU占用奇高, 这个时候就需要确定到底是哪些线程占用了较高的CPU, 然后再做针对性的优化, 可以使用jconsole/ ...

  7. java 一次CPU占用过高问题的排查及解决,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  8. idea占用cpu过高_生产环境服务器变慢、CPU占用过高,诊断思路和性能评估谈谈?...

    上篇: https://zhuanlan.zhihu.com/p/166162037​zhuanlan.zhihu.com 一.生产环境服务器变慢,诊断思路和性能评估 1.在Linxu准备数据 (1) ...

  9. mysql是单核吗_一次单核CPU占用过高问题的处理

    客户现场反馈,top的检查结果中,一个cpu的占用一直是100%.实际上现场有4个cpu,而且这个服务器是mysql专属服务器. 我的第一反应是io_thread一类的参数设置有问题,检查以后发现re ...

最新文章

  1. Eclipse优化之设置不自动弹出控制台和Server
  2. SIFT原理与源码分析:DoG尺度空间构造
  3. 2020年Java面试题
  4. 前台分页,感觉一般还能优化
  5. WireSkark(六)
  6. docker安装前提条件
  7. Python 爬取了马蜂窝的出行数据,告诉你这个夏天哪里最值得去!
  8. Elasticsearch 索引数据多了怎么办,如何调优,部署?
  9. struts一个action处理多个方法
  10. Funcode学习笔记:写一个维护性高、扩展性强的框架【By Myself】【C++】
  11. [【转】TOMATO DDWRT中几种无线模式的使用
  12. hdjs---laravel 框架使用hdjs 实现多图上传功能
  13. AirServer 7win/mac手机投屏到电脑工具
  14. java assert 断言_Java 之 assert (断言)
  15. iOS 获取 appid
  16. 将系统临时文件夹恢复到原来默认的目录
  17. tp6 的unique验证
  18. 计算机专业的技能测试,中职学校计算机专业技能测试方法存在的主要问题及其对策...
  19. 使用Jeb动态调试安卓的时候显示Could not attach to target
  20. 上岸算法 -北美求职套路全解析

热门文章

  1. Android开发--Http操作介绍(二)
  2. Java内存管理之软引用(Soft Reference)
  3. openstack登陆dashboard提示认证发生错误
  4. oracle导入dmp方法,oracle dmp文件导入方法
  5. Linux-2.6设备模型与sysfs文件系统
  6. Linux同步自己的配置,Linux学习心得之——Rsync同步配置
  7. android模拟器越狱,关于iOS Simulator(模拟器)是否可以越狱。
  8. php7 thinkphp5,thinkphp5+phpstudy+php7.0连接SQL Server 2008 | 睿客网
  9. 抗原试剂盒也卷起来了,我的塑料袋不会影响房价吧?
  10. 皮一皮:原来微信备注还有这个用...