【发布时间】:2021-08-25 17:52:04
【问题描述】:
我正在尝试使用pytorch 构建卷积神经网络,但无法理解如何解释第一个密集连接层的输入神经元。比如说,我有以下架构:
self.conv_layer = nn.Sequential(
nn.Conv2d(3, 32, 5),
nn.Conv2d(32, 64, 5),
nn.MaxPool2d(2, 2),
nn.Conv2d(64, 128, 5),
nn.Conv2d(128, 128, 5),
nn.MaxPool2d(2, 2))
self.fc_layer = nn.Sequential(
nn.Linear(X, 512),
nn.Linear(512, 128),
nn.Linear(128, 10))
这里X 将是第一个线性层中的神经元数量。那么,我是否需要跟踪每一层的输出张量的形状,以便找出X?
现在,我可以将值放在公式(W - F + 2P) / S + 1 中,然后计算每一层之后的形状,这样会比较方便。
难道没有更方便的东西可以自动完成吗?
【问题讨论】:
标签: python pytorch conv-neural-network