Tensorflow+GPU做物体检测,CPU和内存都高占用?

如题, 我在用Tensorflow Object Detection做物体检测的时候, 用mobilenetV1模型, 然后在session运行的时候发现占用的CPU很高, i7的占到了80%, 很不解用到CPU做了什么, 请大神解答...

0

1个回答

把你的batch设置大一些看看,另外你的cpu是不是4核?4核占用80%很正常,即便是gpu跑,也是需要3、4个核的。你可以试试找一个Xeon E5的平台,16核以上的,应该就不会占那么多了。
我用36核的平台,CPU占用大约5%。
内存的话,和你装入的数据有关,如果你使用了numpy/pandas的一些操作,会复制大量的数组,就会占用很多内存。

1
qq_29444093
_Targaryen 谢谢解答, 我的cpu是六核的, 所以可能像你说的占用比例高, 另外您的意思是, 即使是网络本身用GPU跑, 也仍然难以避免CPU的这部分占用是吗
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
运行tensorflow python程序,限制对GPU和CPU的占用
一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用。并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度。使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K4...
深度学习笔记:windows+tensorflow 指定GPU占用内存(解决gpu爆炸问题)
目录 目录 前言 一、指定显卡 二、限制GPU用量 1、设置使用GPU的百分比 三、指定GPU并且限制GPU用量 指定第一块GPU可用 前言 最近在使用深度学习,跑了一个大的model,然后GPU炸了,上网搜索了一下如何解决这个问题,做下笔记,分享给大家。 keras在使用GPU的时候有个特点,就是默认全部占满显存。 这样如果有多个模型都需要使用GPU跑的话,那么限制是很大...
tensorflow基于cpu的检测
利用python进行tensorflow的检测,亲测有效。基于cpu的操作,接下来就是gpu的
关于tensorflow训练GPU占用问题
大家在训练数据的时候,经常会遇到tensorflow会占用发现的所有GPU的情况,这样会影响其他人使用GPU,因此我们可以在使用时设定选用的GPU。 import os os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES"]="0" 这样我们就可以避免...
管理员解决深度学习服务器GPU内存占用问题
解决方法 利用Linux自带的管道命令 nvidia-smi | grep python 获取到GPU中的进程号 然后通过 ps -lA | grep pid 找到进程的状态 若为S(sleep),并且超过容忍时间,则kill掉 测试python执行centos7系统命令的情况 import os gpu_status = os.popen("nvidia-smi | grep python")...
Zero volatile GPU-Util but high GPU Memory Usage,tensorflow训练时候显存占满,但是执行效率很低,GPU使用率很低。
Tensorflow 调用GPU训练的时候经常遇见 ,显存占据的很大,但是使用率很低,也就是Zero volatile GPU-Util but high GPU Memory Usage。 网上找到这样一个答案,意思就是自己run 的很多东西是没有用的,但是会占据大量显存。 后来找到问题了, 这两个语句,是针对所有的data_x data_y 操作的,而这两个部分又比较大(大概几百兆)所
tensorflow使用GPU训练时的显存占用问题
最近用GoogleNet (inception-v3)做fine-tune训练时,遇到了一个问题。当我选择单个GPU训练时候,服务器中所有的GPU显存都会被占满,如下图所示:     出现以上问题的原因是tensorflow在训练时默认占用所有GPU的显存。     可以通过以下方式解决该问题: 1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数
问题:显卡占用高,但使用率低
cuda_visible_devices 设置可见gpu,但是会将整个gpu占满,Gpu的实际使用率很低。使用tf.configproto.gpu_optional.allow_growth属性设为True时就可以文明使用gpu。数据读取满,影响计算速度...
让tensorflow在GPU上训练时不要占用全部内存
tensorflow默认训练时占用一块GPU的全部内存,在训练代码python文件中加入以下代码,可以避免这种问题,给实验室的小伙伴们留一点空间。 gpu_options = tf.GPUOptions(allow_growth=True) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) ...
TensorFlow如何充分使用所有CPU核数,提高TensorFlow的CPU使用率,以及Intel的MKL加速
转载链接:http://nooverfit.com/wp/tensorflow%E5%A6%82%E4%BD%95%E5%85%85%E5%88%86%E4%BD%BF%E7%94%A8%E6%89%80%E6%9C%89cpu%E6%A0%B8%E6%95%B0%EF%BC%8C%E6%8F%90%E9%AB%98tensorflow%E7%9A%84cpu%E4%BD%BF%E7%94%A8%
linux xorg占用显存过大解决
一、通过Ctrl + Alt +F1~F6任意一个进入文字界面;登录,nvidia-smi查看显存占用二、回到图形界面:Ctrl + Alt + F7再次nvidia-smi查看显存占用,可发现显存已经明显降了下来...
keras tensorboard的使用, 设置指定GPU及其内存, 强制只使用cpu
1.强制只使用cpu: import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES"] = ""2. GPU内存占用限制以及Tensorboard的一般使用补充:主动设定占用内存或者自适应设置GPU内存大小开始学习用TensorFlow,这东...
GPU利用率低的原因
1. CPU数据读取更不上:读到内存+多线程+二进制文件(比如tf record) 2. GPU温度过高,使用功率太大:每次少用几个GPU,降低功耗(但是多卡的作用何在?)...
Tensorflow利用GPU训练注意事项
训练前要用nvidia-smi来查看一下当前GPU的使用情况,不要一下子就放上去跑把大家一起挤挂了,这是负责任的行为。之前在公司就遇到过训练了好久,结果一个新来的就把服务器挤跪了。。。 如果机器上面的GPU之间不能够通信,那就先设定一块要用的GPU吧,在终端上面输入命令export CUDA_VISIBLE_DEVICES=0(数字是GPU的编号)。 用Tensorflow创建session的时候
CPU使用率不高,内存怎么使用率也不高,但系统假死了
在一个企业中待两年多了,遇到各种问题,很多都没有经验,只能考自己去摸索。现在又遇到一个问题,在IBM刀片服务器上面,4G的内存,sql server大概使用到2G左右就升不上去了,但是公司使用的系统的大并发使用的时候,就出现假死的现象,整个系统就不能使用了,CPU使用率也才10%左右。这问题可郁闷呀,又物理资源不能够用到,系统有出现问题。找了很久也没有找到问题的所在,程序应该问题不大,应该平时都用...
TensorFlow指定特定GPU以及占用显存的比例
因为LZ是使用GPU服务器跑TensorFlow,而TensorFlow默认的是占用所有GPU,于是为了不影响其他同学使用GPU,于是就试验和总结了一下TensorFlow指定GPU的方法。。 环境 系统:Ubuntu14.04 TensorFlow:v1.3 GPU 8个GTX1080,第一列的0~7的数是GPU的序号 一.设置指定GPU 1.一劳永逸的方法,直接在~/.
iOS GPU和CPU资源消耗的原因和解决方案
** iOS构建流畅的交互界面--CPU,GPU资源消耗的原因和解决方案 ** CPU资源消耗的原因和解决方案 对象创建 轻量对象代替重量对象 * 不需要响应触摸事件的控件:CALayer显示 * 对象不涉及UI操作,则尽量放到后台线程创建 * 包含有CALayer的控件只能在主线程创建和操作 * 通过Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象...
centos 6.4 ATI 显卡安装及xorg占用CPU过高的问题
笔记本型号:E420-1141-A28 显卡型号:AMDRadeonHD6630M CentOS版本:64 位  6.4   一.安装显卡驱动 1.先到ATI官方选择下载对应的最新驱动(http://support.amd.com/us/gpudownload/Pages/index.aspx). 2.#sudo sh ./amd-driver-installer-catal...
tensorflow设备内存分配算法解析 (BFC算法)
tensorflow设备内存管理模块实现了一个best-fit with coalescing算法(后文简称bfc算法)。bfc算法是Doung Lea’s malloc(dlmalloc)的一个非常简单的版本。它具有内存分配、释放、碎片管理等基本功能。 关于dlmalloc算法,参考下面链接: http://gee.cs.oswego.edu/   Bfc算法思想: 将内存分成一系列内
Tensorflow占用GPU显存问题
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一...
tensorflow之内存暴涨问题
在用tensorflow实现一些模型的时候,有时候我们在运行程序的时候,会发现程序占用的内存在不断增长。最后内存溢出,程序被kill掉了。 这个问题,其实有两个可能性。一个是比较常见,同时也是很难发现的。这个问题的解决,需要我们知道tensorflow在构图的时候,是没有所谓的临时变量的,只要有operator。那么tensorflow就会在构建的图中增加这个operator所代表的节点。所以,...
Linux下xorg进程CPU占用率过高时的一个解决方案
Linux下xorg进程CPU占用率过高时的一个解决方案   init 3 进字符模式就搞定了 哪儿这么麻烦。要想开机自己进去字符模式  就改个文件 vim /etc/inittab 里面有一行:id:5:initdefault: 把5改成3 就OK了。
程序退出后依旧占用GPU和内存资源时强制kill掉进程的方法
【时间】2018.12.13 【题目】程序退出后依旧占用GPU和内存资源时强制kill掉进程的方法 当使用GPU跑程序时,程序退出后依旧占用GPU和内存资源,进程依旧存在时,可以用下面的方法强制kill掉进程: (1)请先查看占用资源的进程归属方是谁,以及运行的是什么指令:    ps -f PID号 (2)然后确认该进程可以kill掉情况下直接杀掉:     kill -9 PID号 ...
Firefox占用CPU、内存太高解决办法
CPU解决:首先解决CPU占用率高,打开网页停顿的问题。很简单,在“工具”/“选项”/“内容”里,找到“启用Java“这一项,去掉前面的勾,然后确认,重启即可解决问题内存解决: 为Firefox设置快速缓存  1、打开Firefox浏览器。  2、在地址栏中输入“about:config”。  3、在“过滤器”中输入“browser.cache.memo
tensorflow-gpu 和cpu使用训练ssd模型感想(显卡内存不足解决办法)
   ssd 模型对于GPU ,CPU来说都适用,但是通过我的训练de'd得到的一下经验来说,GPU训练时基本不到1秒每步,而cpu在使用avx2的基础上,训练的每步需要将近1分钟,可想而知GPU训练是cpu训练的60倍左右,这将大大提高大家的训练速度。   而且,之前我yong用cpu版本训练时ssd model训练1000步需要花7-8个小时,现在用GPU只需要10分钟就足以,由此可见,对于...
Caffe tensorflow和keras跑动程序时限制GPU所占显存和强制使用cpu
应用场景:       在实验室或者公司时,一般会遇到服务器紧张的情况。在这种情况下,可以通过限制GPU所占显存来使得一台服务器可以同时跑几个模型,当然,土豪实验室或者公司不用担心这个问题。 由于暂时只接触了Caffe,Tensorflow和keras,现只提供这三种深度学习框架的控制方法。 解决办法:       对于caffe而言,默认不是占满GPU全部的显存,而是通过网络设置batc...
TensorFlow指定GPU使用及监控GPU占用情况
查看机器上GPU情况命令: nvidia-smi功能:显示机器上gpu的情况命令: nvidia-smi -l功能:定时更新显示机器上gpu的情况命令:watch -n 3 nvidia-smi功能:设定刷新时间(秒)显示GPU使用情况其中左上侧有0、1、2、3的编号,表示GPU的编号,在后面指定GPU时需要使用这个编号。在终端执行程序时指定GPU   CUDA_VISIBLE_DEVICES=1...
tensorflow GPU显存占满而Util为0的问题
问题1:Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA  解决:代码中添加 import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 问题2:Tensorflow GPU显存...
Ubuntu 查看CPU/GPU内存使用情况
1、Ubuntu下查看CPU内存使用情况: top 2、Ubuntu下查看GPU内存使用情况: nvidia-smi
Tensorflow 内存占用
Tensflow 内存占用有以下特点: 一 : 默认瞬间占用所有GPU的所有显存;(但是可以设置占用上限, 以及动态占用) # 动态占用: 根据需要自主申请显存 config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config, ...) # 占中上限: 设置...
从CPU与GPU利用率,到GPU与CPU差别的思考
注:本版关于GPU的内容均是是经过实测数据提供,具有版权所有 简介: GPU与CPU貌似差别不大的两个东西,然而,从逻辑结构,到原理,到性能,到功能,再到在物理设备中扮演的角色来讲,压根就不是同一个东西,甚至可以说,完全不可以类比。 首先考虑GPU利用率: 因为要对GPU物理设备进行压力测试和功耗测试,那么就需要设定GPU利用率分别为25%,50%,75%,100%类似的参数,那么这样的
Tensoflow sess.run导致的内存溢出
下面是调用模型进行批量测试的代码(出现溢出),开始以为导致溢出的原因是数据读入方式问题引起的,用了tf , PIL和cv等方式读入图片数据,发现越来越慢,内存占用飙升,调试时发现是sess.run这里出了问题(随着for循环进行速度越来越慢)。 # Creates graph from saved GraphDef create_graph(pb_path) ...
内存和CPU占用率过高,该怎么办?
转载自戴尔 公众号 戴尔 今天 “ 电脑的内存和CPU都达到非常大的占用率时 就很可能会导致系统崩溃 ” 本期视频中,小编将指导大家如何尽量有效的减少内存和CPU的占用率。 尝试进行ePSA硬件检测。关机重启,开机在看到Dell Logo后,多次敲击F12进入ePSA界面。选择Diagnostics,敲击回车键进行硬件检测。若检测出问题,那么建议您联系我们的技术支持人员,若未检测出问题,那么尝试...
pytorch计算模型的显存占用率和节省内存技巧
计算模型的显存占用率 如何计算模型以及中间变量的显存占用大小可以参考此文。 如何在Pytorch中精细化利用显存,牺牲计算速度减少显存用量,将计算过程分为两半,先计算一半模型的结果,保存中间结果再计算后面一半的模型。 再次浅谈Pytorch中的显存利用问题(附完善显存跟踪代码),借用Pytorch-Memory-Utils这个工具来检测我们在训练过程中关于显存的变化情况,分析出我们如何正确释放多...
tensorflow中使用指定的GPU及GPU显存
tensorflow中使用指定的GPU及GPU显存 本文目录 1 终端执行程序时设置使用的GPU2 python代码中设置使用的GPU3 设置tensorflow使用的显存大小 3.1 定量设置显存3.2 按需设置显存 转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6591923.html
Tensorflow:GPU使用几点建议
GPU运行Tensorflow的几点建议: 1.在运行之前先查看GPU的使用情况: 指令:nvidia-smi 备注:查看GPU此时的使用情况 或者 指令:watch nvidia-smi 备注:实时返回GPU使用情况 2.指定GPU训练: 方法一、在python程序中设置: 代码:os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘0’ 备注:使...
【大坑啊,已出坑】ubuntu tensorflow/keras 使用gpu
【大坑啊,已出坑】ubuntu tensorflow/keras 使用gpu 一望一抹泪~ 一试一滴血~ 这是我自学机器学习以来第二大坑,不是一个坑,是“坑群”。 ———————–静心,静心,别着急———————— 当你看到这里时,不管你做到了哪一步,请先做如下尝试,不成再详细阅读后面的东西: 1、试试这个 sudo apt-get install libcupti-dev 2、
[解决方法]Tensorflow强制使用CPU
在导入Keras/TensorFlow之前: import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES
编程获取系统当前cpu使用率/空闲率 、内存使用率、剩余可用内存 Nvidia GPU的利用率等
得到cpu占有率的API函数: GetSystemTimes 类似针对某个进程或者线程的函数有,Windows的任务管理器里面没有提供单线程cpu的占用单个cpu的比率,应该可以通过这几个函数得到。 GetProcessTimes http://msdn.microsoft.com/en-us/library/windows/desktop/ms683223(v=vs.85).
如何在基于tensorflow的深度学习框架keras中指定GPU内存使用大小
set_gpu.py import os import tensorflow as tf import keras.backend.tensorflow_backend as KTF def get_session(gpu_fraction=0.3): '''Assume that you have 6GB of GPU memory and want to allocate ~2GB
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 都人工智能培训 产品经理都学什么