python 动态执行 内存变化_详解Pytorch显存动态分配规律探索

本文通过实验详细探讨Pytorch在显存中的动态分配规律。当创建和移动张量时,Pytorch不会立即释放显存,而是采用覆盖策略。主存与显存之间的交互显示,主存释放是即时的,而显存释放则在后续覆盖操作时进行。
摘要由CSDN通过智能技术生成

下面通过实验来探索Pytorch分配显存的方式。

实验显存到主存

我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下:

import torch

打开任务管理器查看主存与显存情况。情况分别如下:

d4da2d22f92a01c04f542dbffcf4281a.png

d3c3c22d226210cfe14ee2516264c32c.png

在显存中创建1GB的张量,赋值给a,代码如下:

a = torch.zeros([256,1024,1024],device= 'cpu')

查看主存与显存情况:

170dc34540a55e53e39015724b5e7b78.png

0d296aa996b7c3a2d287758a63f9efd6.png

可以看到主存与显存都变大了,而且显存不止变大了1G,多出来的内存是pytorch运行所需的一些配置变量,我们这里忽略。

再次在显存中创建一个1GB的张量,赋值给b,代码如下:

b = torch.zeros([256,1024,1024],device= 'cpu')

查看主显存情况:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值