以下是Ubuntu上PyTorch的内存管理技巧:
torch.cuda.amp
进行FP16/FP32混合精度计算,减少显存占用并加速训练。torch.cuda.empty_cache()
释放未使用的缓存。gc.collect()
触发垃圾回收。gradient_checkpointing
)减少中间激活值存储。num_workers
或设置pin_memory=False
避免内存锁竞争。streaming=True
)。torch.cuda.memory_summary()
查看显存分配情况。nvidia-smi
监控GPU内存使用,定位异常进程。参考来源: