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
相关推荐
Ratten9 分钟前
【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(三)上传类的实现
python
martinzh10 分钟前
提示词工程师到底是干什么的?
人工智能
Coovally AI模型快速验证12 分钟前
SOD-YOLO:基于YOLO的无人机图像小目标检测增强方法
人工智能·yolo·目标检测·机器学习·计算机视觉·目标跟踪·无人机
黎燃14 分钟前
无人机+AI:精准农业的“降维打击”实践
人工智能
茫茫人海一粒沙15 分钟前
RAG 分块中表格填补简明示例:Markdown、HTML、Excel、Doc
人工智能
爱喝奶茶的企鹅25 分钟前
Ethan开发者创新项目日报 | 2025-08-18
人工智能
却道天凉_好个秋25 分钟前
计算机视觉(一):nvidia与cuda介绍
人工智能·计算机视觉
爱喝奶茶的企鹅38 分钟前
Ethan独立开发新品速递 | 2025-08-18
人工智能·程序员·开源
七夜zippoe39 分钟前
如何使用 AI 大语言模型解决生活中的实际小事情?
人工智能·语言模型·生活
算家计算1 小时前
一行命令,玩转所有主流音视频格式!一站式音视频处理工具——FFmpeg本地部署教程
人工智能