以下是Ubuntu系统中PyTorch的内存管理技巧:
torch.cuda.empty_cache()
释放未使用的GPU缓存。del
),并配合gc.collect()
触发垃圾回收。torch.cuda.amp
自动在FP16和FP32间切换,节省显存并加速计算。torch.utils.checkpoint
减少中间激活值存储。DataLoader
的num_workers
和pin_memory
,避免CPU-GPU数据传输瓶颈。torch.cuda.memory_summary()
分析内存占用。torch.distributed
)。注意:部分操作(如inplace
)可能破坏计算图,需根据场景谨慎使用。