PyTorch CUDA GPU高占用测试

0x00 问题描述

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

0x01 代码设计

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

python 复制代码
## CUDA - GPU 占用测试
## 正确运行结果为:GPU占用显著提高(>95,NVIDIA 3060 LAPTOP)

import torch
import torch.nn as nn
import torch.optim as optim

# 检查CUDA是否可用
if torch.cuda.is_available():
    device = torch.device("cuda")
    print("CUDA is available. Using GPU.")
else:
    raise Exception("CUDA is not available. Please ensure you have a GPU.")

# 创建一个简单的神经网络
class SimpleNet(nn.Module):
    def __init__(self):
        super(SimpleNet, self).__init__()
        self.fc1 = nn.Linear(10000, 10000)  # 大规模线性层,可以根据需要调整大小

    def forward(self, x):
        x = self.fc1(x)
        return x

net = SimpleNet().to(device)

# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.SGD(net.parameters(), lr=0.01)

# 创建一个大型随机输入张量
batch_size = 32
input_data = torch.randn(batch_size, 10000, device=device)

# 持续执行神经网络训练任务以保持高占用率
try:
    while True:
        # 正向传播
        output = net(input_data)
        loss = criterion(output, input_data)

        # 反向传播和优化
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
except KeyboardInterrupt:
    print("Stopped by user.")

# 释放GPU资源
net = None
torch.cuda.empty_cache()

0x02 实验结果

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

0x03 后记

  • No Pains, No Gains.
相关推荐
一点媛艺1 小时前
Kotlin函数由易到难
开发语言·python·kotlin
qzhqbb1 小时前
基于统计方法的语言模型
人工智能·语言模型·easyui
冷眼看人间恩怨2 小时前
【话题讨论】AI大模型重塑软件开发:定义、应用、优势与挑战
人工智能·ai编程·软件开发
2401_883041082 小时前
新锐品牌电商代运营公司都有哪些?
大数据·人工智能
魔道不误砍柴功2 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
_.Switch2 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
AI极客菌3 小时前
Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5。
人工智能·计算机视觉·ai作画·stable diffusion·aigc·flux·人工智能作画
阿_旭3 小时前
一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理
人工智能·深度学习·计算机视觉·cross-attention·self-attention
王哈哈^_^3 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
测开小菜鸟4 小时前
使用python向钉钉群聊发送消息
java·python·钉钉