torch.cuda.memory_stats与memory_snapshot返回空结构原因咨询
问题原因分析
- 未执行任何CUDA内存操作:
torch.cuda.memory_stats()和torch.cuda.memory_snapshot()是用来记录CUDA内存分配、释放等操作统计的工具。如果代码还没创建过CUDA张量、没运行过依赖CUDA的模型或运算,这两个函数自然没有数据可以返回,就会出现空的OrderedDict和空列表。你可以先尝试创建一个简单的CUDA张量,比如torch.tensor([1,2,3], device="cuda"),再调用这两个函数查看结果。 - 内存追踪功能被禁用:如果环境中设置了
PYTORCH_NO_CUDA_MEMORY_CACHING这类环境变量,或者通过其他配置关闭了PyTorch的CUDA内存追踪功能,也会导致这两个函数无法收集数据,返回空值。可以检查系统的环境变量设置,或者PyTorch的启动配置。 - 版本兼容性问题:部分旧版本的PyTorch和CUDA组合可能存在bug,导致这两个内存统计函数无法正常工作。可以尝试升级PyTorch到稳定版,或者确认当前PyTorch版本与CUDA版本是否官方兼容。
内容的提问来源于stack exchange,提问作者An old man in the sea.
相关产品推荐
相关产品推荐

