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
相关推荐
云烟成雨TD20 分钟前
Spring AI Alibaba 1.x 系列【48】状态图编译配置类:CompileConfig 源码解析
java·人工智能·spring
知行产研27 分钟前
300台验证+原生定义!雷沃×易控智驾,重新定义矿山无人运输新标准。
人工智能·自动驾驶
weixin_376593221 小时前
使用pyhon脚本方式将超链接保存到第一列以数字方式显示
python
zhangfeng11331 小时前
SothisAI 是曙光给超算/智算中心用的「AI 任务管理+算力调度平台
人工智能
byzh_rc1 小时前
[AI编程从入门到入土] 装饰器decorator
开发语言·python·ai编程
金融Tech趋势派1 小时前
2026企业微信AI服务商实测:微盛·企微管家领跑私域客户运营赛道
大数据·人工智能·企业微信
武汉知识图谱科技1 小时前
从材料到实物:神经符号AI如何重构轨道车辆吸能结构仿真流程
人工智能·知识图谱
贫民窟的勇敢爷们1 小时前
Java 与 Python 如何选型与融合
java·开发语言·python
青岛前景互联信息技术有限公司1 小时前
又到一年开学季,大学校园安全管理中的突出问题分析
大数据·人工智能·物联网
折哥的程序人生 · 物流技术专研2 小时前
从“卡死”到“跑通”:WMS机器学习全流程实战排坑记
数据库·人工智能·机器学习