Pytorch释放显存占用方式

yipeiwu_com7年前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-tkinter之按钮的使用,开关方法

python-tkinter之按钮的使用,开关方法

具体参考哪位大佬的,记不太清楚了。 直接上代码,大体逻辑是这样的。 # -*- coding:utf-8 -*- from tkinter import * root=Tk()...

简述Python中的进程、线程、协程

进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆...

Python模块、包(Package)概念与用法分析

Python模块、包(Package)概念与用法分析

本文实例讲述了Python模块、包(Package)概念与用法。分享给大家供大家参考,具体如下: Python中”模块”的概念 在开发中,我们会有很多函数,我们可以把这些函数都放到一个文...

利用python开发app实战的方法

利用python开发app实战的方法

我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了。最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻...

python模块之subprocess模块级方法的使用

subprocess.run() 运行并等待args参数指定的指令完成,返回CompletedProcess实例。 参数:(*popenargs, input=None, captur...