F.Relu和nn.Relu的区别:

F.relu是作为一个函数去计算relu,使用方法为:F.relu(X)

nn.Relu是作为一个层结构,必须添加到nn.Module容器内才能使用。

从嵌套块中收集参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def block1():
return nn.Sequential(nn.Linear(4, 8), nn.ReLU(),
nn.Linear(8, 4), nn.ReLU())

def block2():
net = nn.Sequential()
for i in range(4):
# 在这里嵌套
net.add_module(f'block {i}', block1())
return net

rgnet = nn.Sequential(block2(), nn.Linear(4, 1))
rgnet(X)
print(rgnet)