本文只做本人笔记记录所用!

一、概念介绍

In-place 操作:被称为就地操作和原地操作

pytorch中原地操作的后缀为_,如.add_()或.scatter_(),

就地操作:是直接更改给定Tensor的内容而不进行复制的操作,即不会为变量分配新的内存(不分配新的对象)。Python操作类似+=或*=也是就地操作。

当然有In-Place就有out-of-place与之对应。

二、介绍

深度学习降低显存使用量,有几种简单的方法可以减少模型占用的GPU显存

(1)更改模型的结构,比如做轻量化模型的设计,结构重参等方法,可以有效降低模型参数量

(2)模型蒸馏,从教师模型(参数量大)-》蒸馏出学生模型(参数量小)

(3)每次训练batchsize设置小一些,也可以减少显存占用量(缺点是模型需要更长的时间训练,且模型性能可能会受损)

在我们pyto

09-19 22:19