Pytorch释放显存占用方式

yipeiwu_com6年前Python基础

如果在python内调用pytorch有可能显存和GPU占用不会被自动释放,此时需要加入如下代码

torch.cuda.empty_cache()

我们来看一下官方文档的说明

Releases all unoccupied cached memory currently held by the caching allocator so that those can be used in other GPU application and visible in nvidia-smi.

Note

empty_cache() doesn't increase the amount of GPU memory available for PyTorch. See Memory management for more details about GPU memory management.

此外还可以使用

memory_allocated()和max_memory_allocated()

观察显存占用,并使用

memory_cached()和 max_memory_cached()

观察由缓存分配器管理的内存。

以上这篇Pytorch释放显存占用方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中asyncio模块的深入讲解

1. 概述 Python中 asyncio 模块内置了对异步IO的支持,用于处理异步IO;是Python 3.4版本引入的标准库。 asyncio 的编程模型就是一个消息循环。我们从...

python变量的存储原理详解

python变量的存储原理详解

变量的存储 在高级语言中,变量是对内存及其地址的抽象。 对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而...

Python内置模块hashlib、hmac与uuid用法分析

本文实例讲述了Python内置模块hashlib、hmac与uuid用法。分享给大家供大家参考,具体如下: 一、hashlib md5和sha算法通过消息摘要算法生成定长的消息摘要,消息...

python中@property和property函数常见使用方法示例

本文实例讲述了python中@property和property函数常见使用方法。分享给大家供大家参考,具体如下: 1、基本的@property使用,可以把函数当做属性用 class...

Python中最大最小赋值小技巧(分享)

码代码时,有时候需要根据比较大小分别赋值: import random seq = [random.randint(0, 1000) for _ in range(100)] #方法...