neural-network - 为什么在神经网络类定义中使用多个 ReLU 对象?
问题描述
最近我观察到很多时候,在定义神经网络时,我们为每一层定义了单独的 ReLU 对象。为什么我们不能在需要的地方使用相同的 ReLU 对象。
例如,不要这样写——
def __init__(self):
self.fc1 = nn.Linear(784, 500)
self.ReLU_1 = nn.ReLU()
self.fc2 = nn.Linear(500, 300)
self.ReLU_2 = nn.ReLU()
def forward(x):
x = self.fc1(x)
x = self.ReLU_1(x)
x = self.fc2(x)
x = self.ReLU_2(x)
为什么我们不能使用
def __init__(self):
self.fc1 = nn.Linear(784, 500)
self.ReLU = nn.ReLU()
self.fc2 = nn.Linear(500, 300)
def forward(x):
x = self.fc1(x)
x = self.ReLU(x)
x = self.fc2(x)
x = self.ReLU(x)
这是 PyTorch 特有的吗?
解决方案
我们可以这样做。第一个变体只是为了清楚起见。
推荐阅读
- sql - 级联删除时的 SQL Server 死锁
- angular - 在角度 7 中更改父组件中的变量
- php - PHP 会话在多个网站上不可用
- reactjs - React/Redux 排序功能未更新状态
- scilab - Scilab“加载”命令导致布尔值
- azure - 遍历 Set-Header 策略中的多个值
- c# - ReadOnlyObservableCollection
在 WPF 设计时数据中 - build - bitbucket 管道构建实例的默认实例规范是什么,例如 CPU、Ram 等,我们可以配置它吗?
- jenkins - 通过詹金斯管道在神器中设置属性中的特殊字符
- r - 无法循环通过ggplot直方图