将Conv2d转换为线性

时间:2020-09-05 13:50:30

标签: deep-learning pytorch

说我有一个conv2d图层,我知道它是线性图层的特例,如何将Conv2d图层转换为线性图层? (火炬) 例如以下内容:

Conv2d(96, 1000, kernel_size=torch.Size([10, 10]), stride=(1, 1))

1 个答案:

答案 0 :(得分:0)

我不会将卷积层称为“线性层的特殊情况”。但要问的问题是:您是指如何将conv图层的输出平坦化为线性图层?由于您需要转换矩阵。层和向量线性层,必须将矩阵展平,例如,形状为(m,n)的矩阵将成为向量(m * n,1)。这是在Pytorch中执行的操作:


x = nn.Conv2d(96, 1000, kernel_size=torch.Size([10, 10]), stride=(1, 1))
x = x.view(-1, x.size()[1] * x.size()[2] * x.size()[3])
现在可以将

x传递到平坦层。希望能有所帮助!