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
相关推荐
A153625515 小时前
五金批发电商业财一体化 ERP 推荐:打通订单、库存、财务对账
大数据·运维·人工智能·零售
Dxy123931021615 小时前
Python 实现POST上行压缩上传可用HTTP库汇总
开发语言·python·http
荣码15 小时前
AI应用部署上线:Docker打包+API服务+监控告警,我踩了4个坑
java·python
把所有砖敲烂15 小时前
GLM 5.2 核心能力与效果实测全景
人工智能
郝学胜-神的一滴15 小时前
Python 高级编程 026:序列内核深剖
开发语言·python·程序人生·软件工程
神奇霸王龙15 小时前
Qwen3.7-Max屠榜:推理成本仅GPT-5.5的1/25
人工智能·python·gpt·ai·aigc·ai编程
StarkCoder15 小时前
AI 会做多、看少、不收尾:七种失效和拦住它们的办法
人工智能·架构
happyprince15 小时前
03_OpenCodeReview 深刻不忘观:硬约束 × 动态决策的设计哲学
人工智能
渣男教父15 小时前
Python-openpyxl操作Excel
python
持力行15 小时前
AI编程CRUD类项目实操
大数据·人工智能·ai编程