有个简单的PyTorch技巧能让GPU内存使用减半(或者将批次大小翻倍)。

如图所示,与其累加所有损失后再计算反向传播,不如对每个损失分别计算反向传播,这样可以释放计算图,并且最后的结果是一样的

限制:这个方法只在你有多个损失,且计算图互不干扰时有效。

好处:损失越多,节省的内存就越多。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐