Neural network ConvNet中的FCN维度+;FCN示例

Neural network ConvNet中的FCN维度+;FCN示例,neural-network,conv-neural-network,pytorch,Neural Network,Conv Neural Network,Pytorch,因此,我在pytorch中定义的神经网络如下(摘自) 假设我想在1*32*32张量上应用NN,self.fc1如何变成16*6*6。我理解16,不知道我们怎么得到6 首先,您的卷积是3x3个没有填充的内核,这意味着数据在通过时将在其空间维度的每一侧损失1个。如果你不明白为什么,最好看一张照片: 蓝色是您的输入数据,绿色是结果数据(每个通道一个) 让我们一步一步来看看会发生什么: Input-> 1x32x32 conv1-> 6x30x30 (lost 2 on eac

因此,我在pytorch中定义的神经网络如下(摘自)


假设我想在1*32*32张量上应用NN,
self.fc1
如何变成16*6*6。我理解16,不知道我们怎么得到6

首先,您的卷积是3x3个没有填充的内核,这意味着数据在通过时将在其空间维度的每一侧损失1个。如果你不明白为什么,最好看一张照片:

蓝色是您的输入数据,绿色是结果数据(每个通道一个)

让我们一步一步来看看会发生什么:

Input->    1x32x32
conv1->    6x30x30 (lost 2 on each spatial dimension)
max_pool-> 6x15x15 (halves the spatial dimensions)
conv2->    16x13x13
max_pool-> 16x6x6 (13 doesn't divide evenly)
就在这里

Input->    1x32x32
conv1->    6x30x30 (lost 2 on each spatial dimension)
max_pool-> 6x15x15 (halves the spatial dimensions)
conv2->    16x13x13
max_pool-> 16x6x6 (13 doesn't divide evenly)