以下是Ubuntu系统下PyTorch的内存管理技巧:
torch.cuda.empty_cache()清空GPU缓存。del删除不再使用的变量,配合gc.collect()手动触发垃圾回收。float16替代float32,或进一步使用BF16提升内存效率。DistributedDataParallel或FullyShardedDataParallel)分摊内存压力。DataLoader的num_workers和pin_memory提升数据加载效率,避免内存堆积。torch.cuda.memory_summary()监控内存使用情况,定位内存泄漏。CUDA out of memory异常,通过异常处理自动释放内存。参考来源:[1,2,3,4,5,6,7,8,9,10,11]