【发布时间】:2023-01-26 04:53:26
【问题描述】:
我认为这是一个理解问题,但我将不胜感激任何帮助。
我正在尝试学习如何使用 PyTorch 进行自动编码。在nn.Linear函数中,有两个指定的参数,
nn.Linear(input_size, hidden_size)
当将张量重塑为其最小有意义的表示时,就像在自动编码中所做的那样,hidden_size 会更小是有意义的。然而,在 PyTorch 教程中有一行指定相同的 input_size 和 hidden_size:
class NeuralNetwork(nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__()
self.flatten = nn.Flatten()
self.linear_relu_stack = nn.Sequential(
nn.Linear(28*28, 512),
nn.ReLU(),
nn.Linear(512, 512),
nn.ReLU(),
nn.Linear(512, 10),
)
我想我的问题是,具有相同输入和隐藏大小的目的是什么?这不会返回一个相同的张量吗?
我怀疑这只是调用 nn.ReLU() 激活函数后的一个要求。
【问题讨论】:
-
我认为这更像是一种设计选择。
标签: machine-learning pytorch neural-network autoencoder activation-function