【发布时间】:2022-01-06 13:53:15
【问题描述】:
我正在学习building a neural network 上的课程,我很困惑为什么示例代码中的 linear_relu_stack 使用了 512:
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()
)
def forward(self, x):
x = self.flatten(x)
logits = self.linear_relu_stack(x)
return logits
我开始四处搜索,看到许多使用 2**N 的各种值的 torch.nn.Linear 函数示例,但我不清楚他们为什么使用 2 的幂,也不知道他们如何选择使用哪个值。
【问题讨论】:
-
当我检查你的链接时,我没有看到任何示例代码,我只是看到一个测验问题。
-
datascience.stackexchange.com/questions/16416/… 会回答您的问题吗?我通过输入
neural network why power of twointo a search engine 发现它是第一个结果。你试过这个吗? Why not? -
@KarlKnechtel,谢谢。我不清楚示例代码中的 512 是否与节点有关,我在 pytorch 文档中也没有发现任何内容,也没有在 SO 上进行搜索。下次我会尝试扩大搜索范围。虽然它没有回答我问题的第二部分,但它引导我朝着正确的方向寻找答案。
标签: python deep-learning neural-network pytorch