如果在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释放显存占用方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/jishuqianjin/article/details/89406205