如果在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()
观察由缓存分配器管理的内存。
Comments NOTHING