0
点赞
收藏
分享

微信扫一扫

【Pytorch】nn.ReLU(inplace=True)


​nn.ReLU(inplace=False)​​​中​​inplace​​​的默认为​​False​

当​​inplace = False​​​ 时,​​nn.ReLU​​不会修改输入对象的值,而是创建一个新的对象作为输出。

当​​inplace = True​​​ 时,​​nn.ReLU​​会修改输入对象的值作为输出,而不是创建一个新的对象。

import torch
import torch.nn as nn

input = torch.randn(5)

relu_F = nn.ReLU(inplace=False)

relu_T = nn.ReLU(inplace=True)

output_F = relu_F(input)
output_T = relu_T(input)

print('输入:', input, 'id:', id(input))
print('inplace=False,输出:', output_F, 'id:', id(output_F))
print('inplace=Ture,输出:', output_T, 'id:', id(output_T))

【Pytorch】nn.ReLU(inplace=True)_javascript

利用​​inplace = True​​ 计算可以节省内存,同时还可以省去反复申请和释放内存的时间。但是会对原变量覆盖,只要不带来错误就用。


举报

相关推荐

0 条评论