GPU利用率低的解决办法[通俗易懂]

GPU利用率低的解决办法[通俗易懂]watch-n0.1-dnvidia-smi#检查GPU利用率参数解决办法:1.dataloader设置参数2.增大batchsize3.减少IO操作,比如tensorboard的写入和打印。4.换显卡

大家好,又见面了,我是你们的朋友全栈君。

watch -n 0.1 -d nvidia-smi # 检查GPU利用率参数

解决办法:

1. dataloader设置参数

GPU利用率低的解决办法[通俗易懂]

2.增大batchsize

3. 减少IO操作,比如tensorboard的写入和打印。

4. 换显卡

5. 性能分析

import time
import cProfile, pstats, profile


def add(x, y):
    time.sleep(1)
    value = x + y
    return value


def sub(x, y):
    time.sleep(1.5)
    value = x - y
    return value


class TestProfile:
    def calc(self, x, y):
        time.sleep(1)
        add_result = add(x, y)
        sub_result = sub(x, y)
        print(f"{x} add {y} result is: {add_result}")
        print(f"{x} sub {y} result is: {sub_result}")


if __name__ == '__main__':
    obj = TestProfile()
    # 要分析的函数。
    # 原来调用该怎么写就写成相应的字符串形式就好了
    be_analysed_function = "obj.calc(1,2)"
    # 给此次监测命个名,随意起。
    analysed_tag_name = "test_analysed"
    # 使用c语言版的profile进行分析,好处是自身占用资源更少,对函数的耗时定位更准确
    cProfile.run(be_analysed_function, analysed_tag_name)
    # 使用python版的profile进行分析,格式都一样的。
    # profile.run(be_analysed_function, analysed_tag_name)

    # 对此次监测进行分析。
    s = pstats.Stats(analysed_tag_name)
    # 移除文件目录,减少打印输出
    # s.strip_dirs()
    # 排序。
    # "time"表示按函数总耗时排序,python3.7后可用枚举变量pstat.SortKey来取排序项
    s.sort_stats("time")
    # 打印统计结果
    # ncalls--函数被调用的次数
    # tottime--此函数在所有调用中共耗费的时间秒数(不包括其调用的子函数耗费的时间)。分析耗时主要看这个。
    # percall--此函数平均每次被调用耗时。分析耗时次要看这个
    # cumtime--执行此函数及其调用子函数所占用的时间。
    # percall--此函数平均每次调用每个子函数所用的时间。
    s.print_stats()
    # print_stats的结果并不显示谁调用的谁,比如是A调用的C还是B调用的C是不清楚的
    # 要打印出函数的调用者,可使用print_callers()
    # 结果中右边是被调用函数,左边是调用该函数的函数
    # s.print_callers()

https://blog.csdn.net/DD_PP_JJ/article/details/111829869

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147474.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月30日 上午8:36
下一篇 2022年6月30日 上午8:46


相关推荐

  • 腾讯宣布其自研大模型“混元”将发力全模态领域

    腾讯宣布其自研大模型“混元”将发力全模态领域

    2026年3月13日
    2
  • js禁止浏览器后退按钮[通俗易懂]

    js禁止浏览器后退按钮[通俗易懂]js禁止浏览器后退按钮1.js//禁止浏览器后退按钮functionBanBack(ele){//禁止浏览器后退按钮if(window.history&&window.history.pushState){$(window).on(‘popstate’,function(){window.histo…

    2022年7月25日
    12
  • 模块驱动调试记录 ——platform_driver_register

    模块驱动调试记录 ——platform_driver_register当前module_init中使用platform_driver_register(&dev_driver)注册了设备驱动,在 /sys/bus/platform/drivers生

    2022年7月4日
    20
  • 笔记本运行游戏卡顿的调整方法_电脑玩游戏间歇性卡顿

    笔记本运行游戏卡顿的调整方法_电脑玩游戏间歇性卡顿笔记本电脑玩游戏为什么卡顿?笔记本电脑玩游戏卡顿是指在正常情况下笔记本电脑明明可以流畅的运行该游戏,却在游戏时出现了游戏帧数突然降低,过一段时间又恢复正常的毛病。这就让我们很尴尬了,玩游戏进入高潮的时候卡顿是有分分钟想砸电脑的节奏啊。那么该如何解决笔记本玩游戏卡顿的问题呢?下面小编就详细的为大家为大家介绍解决笔记本电脑游戏卡顿的方法。无论台式机还是笔记本玩游戏都存在相同的问题

    2025年9月2日
    8
  • 男人的修养

    男人的修养

    2021年5月2日
    129
  • 密码学——培根密码和栅栏密码

    密码学——培根密码和栅栏密码密码学何为密码学 密码学是研究编制密码和破译密码的技术科学 研究密码变化的客观规律 应用于编制密码以保守通信秘密的 称为编码学 应用于破译密码以获取通信情报的 称为破译学 总称密码学 何为编码学 编码学 运用语言学 数学 电子学 声学 信息论 计算机科学等学科的知识 研究如何根据通信双方约定的法则将明文变为密文 进行加密和变换 以及编制密码的原则 方法与技术手段等 以保证通信达到保密的一门学科何为破译学 译学 运用语言学 数学 电子学 声学 信息论 计算机科学等学科知识 研究如何根据通信双方约定

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号