Pytorch 获取当前模型占用的 GPU显存的大小

1. 背景

AI 训练模型时需要知道模型占用显存的大小,以及剩余显存大小

2. 代码

bash 复制代码
import torch


# 检查GPU是否可用
if torch.cuda.is_available():
    # 获取当前设备
    device = torch.cuda.current_device()
    # 创建一个虚拟model
    model = torch.nn.Linear(25600, 20000, 20000).cuda()

    # 获取当前模型占用的显存大小
    model_memory = torch.cuda.memory_allocated()
    # 获取PyTorch预留的显存大小
    pytorch_memory = torch.cuda.max_memory_allocated() - model_memory
    # 打印模型占用的显存大小和PyTorch预留的显存大小
    print(f"Model memory usage: {model_memory / (1024 ** 3):.2f} GB")
    print(f"PyTorch memory usage: {pytorch_memory / (1024 ** 3):.2f} GB")

    # 获取已使用的显存大小
    total_memory = torch.cuda.get_device_properties(device=device).total_memory
    # 获取剩余的显存大小
    free_memory = total_memory - model_memory
    print(f"剩余的显存大小:{free_memory / (1024 ** 3):.2f} GB")

    # 释放虚拟张量占用的显存
    del model
    torch.cuda.empty_cache()
else:
    print("GPU is not available.")

运行结果:

bash 复制代码
Model memory usage: 1.91 GB
PyTorch memory usage: 0.00 GB
剩余的显存大小:3.89 GB
相关推荐
阿十六18 小时前
OUC AI Lab 第六章:基于卷积的注意力机制
人工智能
二进制的Liao18 小时前
【编程】脚本编写入门:从零到一的自动化之旅
数据库·python·算法·自动化·bash
努力の小熊19 小时前
基于tensorflow框架的MSCNN-LSTM模型在CWRU轴承故障诊断的应用
人工智能·tensorflow·lstm
AI即插即用19 小时前
即插即用涨点系列 (八):AMDNet 详解!AAAI 2025 SOTA,MLP 融合多尺度分解(MDM)与 AMS 的涨点新范式。
人工智能·pytorch·深度学习·目标检测·计算机视觉·transformer
脑极体19 小时前
穿越沙海:中国AI的中东远征
人工智能·搜索引擎
jn1001053719 小时前
【概念科普】原位CT(In-situ CT)技术详解:从定义到应用的系统梳理
人工智能
禾风wyh19 小时前
(ICLR 2019)APPNP传播用 PageRank,不用神经网络!
人工智能·深度学习·神经网络
Dxy123931021619 小时前
Python为什么要使用可迭代对象
开发语言·python
Keep_Trying_Go19 小时前
论文STEERER人群计数,车辆计数以及农作物计数算法详解(pytorch)
人工智能·pytorch·python
gzu_0119 小时前
基于昇腾 配置pytorch环境
人工智能·pytorch·python