以下转自:PyTorch中nn.ReLU(inplace=True)中inplace=True有什么用_zghnwsc的博客-CSDN博客
nn.ReLU(inplace=True),
在pytorch里面,inplace默认是False的,这里我们设置成True,
它的意思是:是否将计算得到的值直接覆盖之前的值。
就是对上面conv2d中传过来的tensor直接修改,而不是先找一个变量做中间的传递。
这样做的好处就是能够节省运算内存,不用多存储额外的变量。
以下转自:nn.ReLU(inplace=True)中inplace的作用 - 慢行厚积 - 博客园
意思是是否将得到的值计算得到的值覆盖之前的值,比如:
x = x +1
即对原值进行操作,然后将得到的值又直接复制到该值中。
而不是覆盖运算的例子如:
y = x + 1
x = y
这样就需要花费内存去多存储一个变量y。
所以
nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),
nn.ReLU(inplace=True)
的意思就是对从上层网络Conv2d中传递下来的tensor直接进行修改,这样能够节省运算内存,不用多存储其他变量。
不会对函数的功能产生影响,所以可以设置 inplace=True。