nn.ReLU(inplace=True)中inplace的作用

在文档中解释是:

  • 参数: 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直接进行修改,这样能够节省运算内存,不用多存储其他变量。

发布了943 篇原创文章 · 获赞 136 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/weixin_36670529/article/details/105224905