折叠连续的线性图层

时间:2018-06-13 10:49:55

标签: python machine-learning neural-network convolution convolutional-neural-network

我有一个具有3个连续线性层(卷积)的神经网络,其间没有激活函数。在训练网络并获得权重之后,我想将所有3层折叠成一层。

当每个层具有不同的内核大小和步幅时,如何在实践中完成?

图层如下:

  1. 带有3x3内核,5个输入通道和5个输出通道(尺寸为3x3x5x5的张量)的卷积层,带有步幅1和填充"相同"
  2. 带有5x5内核,5个输入通道和50个输出通道(尺寸为5x5x5x50)的卷积层,带有步幅2和填充"相同"
  3. 具有3x3内核,50个输入通道和50个输出通道(尺寸为3x3x50x50)的卷积层,步幅1和填充"相同"
  4. 提前致谢

1 个答案:

答案 0 :(得分:0)

置换第一层内核的尺寸,使输入通道处于“小批量”维度,输出通道处于“通道”维度。将第二层应用于该图层,就好像它是图像一样。然后将第三层应用于其结果。最终结果是“崩溃”图层的内核。

使用“完整”填充所有这些操作。如果大致正确工作(除了填充),请尝试修复填充(可能在上一次操作中应该“相同”)。