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
相关推荐
大山同学2 分钟前
Feynman—证据驱动的 AI 研究代理
人工智能·agent·智能体
冬奇Lab9 分钟前
一天一个开源项目(第66篇):awesome-design.md - 让 AI 助你打造像素级 UI 的设计规范
人工智能·ui·设计规范
小姑爷11 分钟前
微信4.1.5.16 UI树“消失”?UIAutomation实战复现+AI驱动RPA落地方案
人工智能·ui·微信
Java技术小馆20 分钟前
为什么你的 AI 效率没翻倍?避开这 5 个落地深坑
人工智能
贫民窟的勇敢爷们26 分钟前
qBittorrent:37k 星的开源 BT 客户端,如何用 C++ 打造无广告的 P2P 下载神器】
人工智能
lizhihai_9929 分钟前
股市学习心得—商业航天10大核心材料供应商
大数据·人工智能·学习
wxin_VXbishe29 分钟前
springboot新能源车充电站管理系统小程序-计算机毕业设计源码29213
java·c++·spring boot·python·spring·django·php
Peter·Pan爱编程30 分钟前
第四篇:Cursor 深度评测 —— Composer 模式下的全栈 vibe 体验
人工智能·ai编程·composer
好运的阿财35 分钟前
OpenClaw工具拆解之memory_search+memory_get
人工智能·python·ai编程·openclaw·openclaw工具
crazy_wsp37 分钟前
使用AI从0到1上线微信小程序
人工智能·微信小程序·小程序