码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PyTorch CUDA GPU高占用测试


    0x00 问题描述

    安装完成PyTorch、CUDA后,验证PyTorch是否能够通过CUDA高占用GPU(占用>95%),特地使用以下代码测试。

    0x01 代码设计

    这个代码会持续执行神经网络的训练任务,每次循环都进行前向传播、反向传播和参数更新,以保持高强度的GPU占用。

    1. ## CUDA - GPU 占用测试
    2. ## 正确运行结果为:GPU占用显著提高(>95,NVIDIA 3060 LAPTOP)
    3. import torch
    4. import torch.nn as nn
    5. import torch.optim as optim
    6. # 检查CUDA是否可用
    7. if torch.cuda.is_available():
    8. device = torch.device("cuda")
    9. print("CUDA is available. Using GPU.")
    10. else:
    11. raise Exception("CUDA is not available. Please ensure you have a GPU.")
    12. # 创建一个简单的神经网络
    13. class SimpleNet(nn.Module):
    14. def __init__(self):
    15. super(SimpleNet, self).__init__()
    16. self.fc1 = nn.Linear(10000, 10000) # 大规模线性层,可以根据需要调整大小
    17. def forward(self, x):
    18. x = self.fc1(x)
    19. return x
    20. net = SimpleNet().to(device)
    21. # 定义损失函数和优化器
    22. criterion = nn.MSELoss()
    23. optimizer = optim.SGD(net.parameters(), lr=0.01)
    24. # 创建一个大型随机输入张量
    25. batch_size = 32
    26. input_data = torch.randn(batch_size, 10000, device=device)
    27. # 持续执行神经网络训练任务以保持高占用率
    28. try:
    29. while True:
    30. # 正向传播
    31. output = net(input_data)
    32. loss = criterion(output, input_data)
    33. # 反向传播和优化
    34. optimizer.zero_grad()
    35. loss.backward()
    36. optimizer.step()
    37. except KeyboardInterrupt:
    38. print("Stopped by user.")
    39. # 释放GPU资源
    40. net = None
    41. torch.cuda.empty_cache()

    0x02 实验结果

    笔者使用的3060 Laptop GPU 占用在95%以上,代码效果显著,说明PyTorch、CUDA环境安装成功。

    0x03 后记

    • No Pains, No Gains.
  • 相关阅读:
    day47:C++ day7,异常处理、using的第三种用法、类型转换、lambda表达式、STL标准模板库
    使用HTML制作静态网站 中国传统文化 丝绸之路 (学生网页设计作业源码)
    JAVA设计模式详解 解构设计模式思想 详细代码对比
    .NET WebAPI 使用 GroupName 对 Controller 分组呈现 Swagger UI
    java毕业生设计新闻采编系统管理系统计算机源码+系统+mysql+调试部署+lw
    Spring MVC 四:Context层级
    [附源码]java毕业设计新生入学计算机配号系统
    H.迷宫,(算法选修)
    计算机毕业设计springboot+vue基本微信小程序的校园闲置二手跳蚤商城的设计与实现
    大数据必学Java基础(五十五):泛型深入了解
  • 原文地址:https://blog.csdn.net/u010160146/article/details/133753368
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号