本文只做本人笔记记录所用!
一、概念介绍
In-place 操作:被称为就地操作和原地操作
pytorch中原地操作的后缀为_,如.add_()或.scatter_(),
就地操作:是直接更改给定Tensor的内容而不进行复制的操作,即不会为变量分配新的内存(不分配新的对象)。Python操作类似+=或*=也是就地操作。
当然有In-Place就有out-of-place与之对应。
二、介绍
深度学习降低显存使用量,有几种简单的方法可以减少模型占用的GPU显存
(1)更改模型的结构,比如做轻量化模型的设计,结构重参等方法,可以有效降低模型参数量
(2)模型蒸馏,从教师模型(参数量大)-》蒸馏出学生模型(参数量小)
(3)每次训练batchsize设置小一些,也可以减少显存占用量(缺点是模型需要更长的时间训练,且模型性能可能会受损)
在我们pyto