当前位置:网站首页>【Pytorch】nn.ReLU(inplace=True)

【Pytorch】nn.ReLU(inplace=True)

2022-08-11 06:28:00 二进制人工智能

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))

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

参考:

https://blog.csdn.net/zhanly19/article/details/99232815

原网站

版权声明
本文为[二进制人工智能]所创,转载请带上原文链接,感谢
https://binaryai.blog.csdn.net/article/details/126264539