深度学习PyTorch,TensorFlow中GPU利用率较低,使用率周期性变化的问题

深度学习中GPU和显存分析 文章目录GPU运行情况查询深度学习中GPU和显存分析0 预备知识1.显存分析1.1 存储指标1.2 神经网络显存占用1.2.1 参数的显存占用1.2.2 梯度与动量的显存占用 GPU运行情况查询 在linux中,命令行输入nvidia-smi指令即可看到当前nvidia显卡的使用情况 表头释义: • Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者... 阅读详情

在用tensorflow训练神经网络时,发现训练迭代的速度时而快时而慢,监督的GPU使用率也是周期性变化,通过了解,发现原因是:

GPU在等待CPU读取,预处理,并传输数据过来,因此要提高GPU的使用率,降低GPU的等待时间,需要加快CPU的处理速度.

在PYTORCH中的解决方案是用torch.utils.data.DataLoader,用num_workers设置线程数:

           torch.utils.data.DataLoader(image_datasets[x],
                                   batch_size=batch_size,
                                    shuffle=True,
                                    num_workers=8,
                                    pin_memory=True)
 

在tensorflow中的解决方案是用tf.data.Dataset.map(num_parallel_calls=8)中的num_parallel_calls设置读取数据的线程数:

             用 tf.data读取数据,  tf.data.Dataset中有一个map函数,它有个num_parallel_calls参数,可以控制CPU的线程,加快数据的读取速度,一般将线程设置为8效果最好.

 

本文主要参考以下两篇文章,建议大家去看更多细节:

             https://blog.youkuaiyun.com/qq_32998593/article/details/92849585

              https://zhuanlan.zhihu.com/p/53345706

【信息科学与工程学】计算机科学与自动化——第十六篇 GPU 05 工艺(3) 序号工艺工序名称工艺步骤核心参数其他参数关键部件及原材料控制指标加工设备类型加工工艺/技巧1衬底准备​1.1 硅晶圆清洗 1.2 热氧化生长薄SiO₂层(1-5nm) 1.3 衬底温度稳定温度: 600-800°C 厚度: 1-5nm 表面粗糙度: <0.2nm晶向: (100) 晶圆尺寸: 300mm 掺杂浓度: 1-10 Ω·cm p型Si晶圆、O₂气体、清洗液(SC1/SC2)氧化层厚度均匀性(±0.1nm) 界面态密度(Dit)<1e10 cm⁻²eV⁻¹清 阅读详情

相关推荐

【信息科学与工程学】【物理/化学和工程技术】第七十五篇 电气工程 系列三 电机学01

至此,总条目达到163 条磁路与电磁场数值方法(131–134)特殊运行状态(135–139)实验技术与标准设计细节(144–149)动态过程(150–154)至此,总条目达到213 条,全面覆盖《电机学》教材及其在电动汽车、工业机器人、家用电器、轨道交通、航空航天、船舶推进、新能源(飞轮储能、波浪发电)​ 等领域的应用,以及先进控制算法(MTPA、弱磁、MPC、EKF、三环PID)​ 和仿真技术(联合仿真、遗传算法优化、HIL)。每条均包含逐步推理的数学方程式和详细推导,可直接用于教学、科研和工程参考。

weixin_49199313的博客 563

深度学习训练时GPU利用率忽高忽低如何解决?

在windowas上进行深度学习的时候,可能会出现GPU负载忽高忽低的现象,(突然98,突然50...) 这种情况很有可能是 读数据或者数据预处理的时间过长,读数据部分可以尝试把全部或者部分数据放在内存,也可以放固态上。 数据预处理部分有些变换是否可以固定,假如是图像数据,有些resize或者padding的操作是否可以离线处理好。 当然,适当调整dataloader读数据的线程数可能也会有帮助。 即两种情况: 你应该将你的程序和数据放在固态上而不是机械上 你应该设置你的num_wor..

Drug discovery 2万+

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营04

典型值:λ1​∈[−0.02,−0.01], λ2​∈[−0.01,0], η1​,η3​∈[0.1,0.3], η2​,η4​∈[0.05,0.15]参数:δ1​∈[−0.8,−0.3], δ2​∈[−0.5,−0.2], δ3​∈[−0.4,−0.1], δ4​∈[−0.6,−0.2]参数:φ1​∈[0.1,0.3], φ2​∈[−0.2,−0.05], φ3​∈[−0.1,0.1], φ4​∈[−0.3,−0.1]参数:α∈[0.3,0.6], β∈[0.2,0.4], γ∈[0.01,0.03]

weixin_49199313的博客 1207

pytorch训练,gpu利用率不稳定

问题描述: 单主机四gpu利用torch.nn.DataParallel进行多gpu的训练;gpu的内存占有率没问题,但使用率很低,很长一段时间在百分之零。 问题原因: 读取每个batch size的图像时,cpu读取时间较长。(batch_size = 1024, 设置DataLoader线程4、8、16、32的改善都不大,且pin_memory=true),开始的dataset为下面方式,显然每次读取时io的耗时比较长。于是,将图像全部读出(硬件支持…),然后再进行每次的变量赋值。 class myDa

stupid_miao的博客 6601

【信息科学与工程学】【物理/化学科学和工程技术】知识体系04 热学 系列二04

严格交替安排“计算传热”与“声子热”条目,深入涵盖非傅里叶导热、量子热输运、热超材料、机器学习、多物理场耦合、声子-光子-磁子相互作用、热辐射调控、热电、相变蓄热、建筑能耗、焊接模拟、MEMS执行器、磁光热辐射等前沿与深化主题,确保两个领域的覆盖面均衡。编号类型热学领域子领域核心数学方程式/算法模型逐步推理思考的数学方程式及数字/数值参数列表时序数学方程式和时序周期变化和稳态/非稳态关联知识加工工具/机床/装备及厂商及加工工艺及各类时序流程和各类注意事项801计算传热非傅里叶热传导的数值模拟双曲热传导方程双

weixin_49199313的博客 424

通过Jlink和PyLink读取蓝牙mac地址--Nordic&silicon labs

本文介绍在不开机的情况下读取蓝牙的mac地址,这里介绍两个平台,Nordic和Silicon Labs。 1. 通过Jlink Commander工具连接上目标板 选择当前芯片的型号 2. 使用mem命令查看mac地址 首先需要知道mac地址存储在芯片的哪个地址。 Nordic: 寄存器DEVICEADDRTYPE的第一个bit代表mac地址的类型,这里为1。DEVICEADDR[0]和DEVICEADDR[1]的低16bit代表了MAC地址,其中DEVICEADDR[1]的第15位应该或上DE

ching的专栏 1650

深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析

在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。往往会发现很多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。 1. GPU内存占用率问题 这往往是由于模型的大小以及batch size的大小,来影响这个指标。当你发下你的GPU占用率很小的时候...

anshiquanshu的专栏 1万+

MIMO技术入门

MIMO:多天线技术,发射端和接收端有多个天线(注意:并不是指多个天线板,而是多套振子,每一套是一个独立的天线。) 4G:2、8天线 5G:4、64天线(64T64R) 手机也是多天线 MIMO实现效果的分类: 1)空间分集 。2)空间复用。3)波束赋形。 空间分集(space diversity) 作用:提升接收质量 利用多个天线发射或者接收一个数据流,避免单个信道衰落对整个链路的影响。(比如你的耳机坏了一只并不影响另一只) 空间复用(space multiplexing) 作用:提升速率 利

About1129的博客 2876

Tensorflow模型GPU使用率低的问题

Tensorflow模型GPU使用率低的问题和分析

YEnh的唐伯虎的博客 4369

Frida提取Cocos游戏XXTEA密钥的实战方法论

XXTEA是一种轻量级分组加密算法,广泛用于移动端游戏通信保护;其128位密钥的安全性直接决定网络协议逆向成败。在Cocos引擎生态中,密钥常以静态常量、JNI动态传递或Native运行时派生三种形态存在,导致传统静态分析失效。Frida凭借跨Java/Native注入能力与内存实时观测优势,成为捕获密钥‘出生瞬间’的关键工具——尤其适用于hook xxtea_encrypt函数入口、监控JNI参数传递、设置内存断点追踪派生过程等场景。本文聚焦Cocos2d-x与Cocos Creator项目,覆盖从密钥识

weixin_33509600的博客 416

学Simulink——基于Simulink的PMSM矢量控制(FOC)从零搭建

《Simulink下PMSM矢量控制(FOC)全流程开发指南》 本教程系统讲解了基于Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)实现方法。主要内容包括:FOC控制原理与双闭环架构设计、Simulink建模全流程(含PMSM本体建模、坐标变换、PI控制器设计等)、关键调试技巧以及工程扩展方向。教程以48V伺服电机为例,详细演示了从Clarke/Park变换到SVPWM生成的完整实现过程,并提供了参数配置建议和常见问题解决方案。通过本教程,读者可掌握FOC系统的核心实现技术,为开发高性能电机

xiaoheshang_123的博客 273

python运行效率gpu_pytorch 限制GPU使用效率详解(计算效率)

问题用过 tensorflow 的人都知道, tf 可以限制程序在 GPU 中的使用效率,但 pytorch 中没有这个操作。思路于是我想到了一个代替方法,玩过单片机点灯的同学都知道,灯的亮度是靠占空比实现的,这实际上也是计算机的运行原理。 那我们是不是也可以通过增加 GPU 不工作的时间,进而降低 GPU 的使用效率 ?主要代码这样子 GPU 的使用效率就可以减小了。rest_time 的越大 ...

weixin_39987926的博客 263

【全网最新OD题库】2026华为 OD 机试C卷 机考真题库清单(全真题库)含考点说明(华为OD+2025年C卷+2025年B卷+2025年A卷+E卷+D卷+C卷)

华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od,华为od算法,华为od手撕代码,华为OD机试2024年最新题库,一文带你读懂华为OD,华为机试e卷,华为OD2025B卷、华

KJ.JK 3万+

python效率计算-pytorch 限制GPU使用效率详解(计算效率)

问题用过 tensorflow 的人都知道, tf 可以限制程序在 GPU 中的使用效率,但 pytorch 中没有这个操作。思路于是我想到了一个代替方法,玩过单片机点灯的同学都知道,灯的亮度是靠占空比实现的,这实际上也是计算机的运行原理。 那我们是不是也可以通过增加 GPU 不工作的时间,进而降低 GPU 的使用效率 ?主要代码import time...rest_time = 0.15...f...

weixin_40001309的博客 898

SAP FICO应付票据平台开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO应付票据平台开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

我好像病了的博客 379

论文阅读:2024 ACM CCS “Do Anything Now”: Characterizing and Evaluating In-The-Wild Jailbreak Prompts on

大语言模型(LLMs)的滥用问题引起了公众和大语言模型供应商的高度关注。有一种特殊的对抗性提示,叫做越狱提示,它已成为绕过防护措施、让大语言模型生成有害内容的主要攻击手段。在这篇论文中,作者使用新框架JailbreakHub,对2022年12月至2023年12月期间的1405个越狱提示进行了全面分析。作者识别出131个越狱提示社区,发现了越狱提示的独特特征以及主要攻击策略,比如提示注入和权限提升。

CSPhD-winston的博客 1411

上采样与下采样:从信号处理到深度学习的核心操作解析

采样是数字信号处理与深度学习中的基础操作,其核心原理基于奈奎斯特-香农采样定理。上采样通过插值算法增加数据分辨率,下采样则通过滤波减少数据量,两者共同确保信号在变换过程中避免混叠失真。在技术价值上,采样操作直接影响数据质量与模型性能,是特征提取与信息保留的关键。应用场景广泛覆盖图像处理、音频分析及时间序列数据对齐。在深度学习领域,U-Net等编码器-解码器架构巧妙结合上采样与下采样,通过跳跃连接实现特征融合,成为图像分割等任务的核心。本文聚焦unet上采样、下采样等热词,深入探讨其实现策略与工程实践中的常见

weixin_34314962的博客 399

【Kubernetes】怎么根据pod找到关联的deployment呢

在文章中我们删除pod需要删除deployment,那么怎么根据pod找到关联的deployment呢。

九师兄 505

Tensorflow的GPU使用率低的原因

因为任务管理器中没有直接显示cuda的使用率,查看cuda使用率的方法如下↓ 1.打开任务管理器点击对应GPU: 2.点击任意一个小三角选择cuda: 3.结果如下: cuda的使用率已经86%了,他很充实只是看起来轻松。 ...

什么都干的派森 8760

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

idea使用方式大全

转自

qq_37603187的博客 345

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

求解!!用gpu来做pytorch神经网络任务时占用率忽高忽低

之前训练一个step用时也就两秒多,现在突然要一分多钟了,最近只是删除了一些c盘的缓存,没动过任何东西,求问各位大神是哪里出现了问题!求解用gpu来做pytorch神经网络任务时占用率忽高忽低,原拉跑都没有过突然成这样了怎么办。

weixin_62235567的博客 732

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

TensorFlow如何提高GPU训练效率和利用率

转自:原文链接 前言 首先,如果你现在已经很熟悉tf.data+estimator了,可以把文章x掉了╮( ̄▽ ̄””)╭ 但是!如果现在还是在进行session.run(..)的话!尤其是苦恼于GPU显存都塞满了利用率却上不去的童鞋,这篇文章或许可以给你打开新世界的大门噢( ̄∇ ̄) 如果发现经过一系列改良后训练效率大大提高了,记得回来给小夕发小红包( ̄∇ ̄) 不过,这并不是一篇怒贴一堆代...

ts719796895的博客 1891

GPU使用问题

GPU使用

Mark_Australia的博客 1445
上一篇: Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005 ..
下一篇: Tensorflow 获取model中的变量列表,用于模型加载等
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值