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
相关推荐
2301_7756398912 小时前
mysql升级时如何使用Ansible进行自动化部署_mysql自动化管理
jvm·数据库·python
机器视觉_Explorer12 小时前
【halcon】编程技巧:鼠标擦除
图像处理·人工智能·深度学习·算法·视觉检测
CLX050512 小时前
怎样设置外键的更新级联操作_ON UPDATE CASCADE配置
jvm·数据库·python
Gerardisite13 小时前
企微批量群发消息指南:用 QiWe 省掉人工操作
java·python·机器人·企业微信
zjy2777713 小时前
SQL Server如何实现编写表与字段注释_Navicat兼容操作步骤
jvm·数据库·python
m0_7020365313 小时前
CSS移动端实现响应式导航菜单_利用媒体查询切换显示隐藏状态
jvm·数据库·python
m0_5967490913 小时前
Go语言怎么用Jaeger_Go语言Jaeger链路追踪教程【实用】
jvm·数据库·python
2501_9010064713 小时前
Golang Gin如何定义路由和路由组_Golang Gin路由教程【实用】
jvm·数据库·python
杨航 AI13 小时前
XGBoost · 登录防欺诈示例
人工智能
拖拖76513 小时前
Scaling Laws for Neural Language Models:大模型为什么可以被“规模化预测”?
人工智能