在Pytorch中计算conv1d层的形状。

问题描述 投票:0回答:1

我们如何在PyTorch中计算conv1d层的形状。在PyTorch中有没有什么命令可以计算这些图层的大小和形状。

            nn.Conv1d(depth_1, depth_2, kernel_size=kernel_size_2, stride=stride_size),
            nn.ReLU(),
            nn.MaxPool1d(kernel_size=2, stride=stride_size),
            nn.Dropout(0.25)```
pytorch size
1个回答
0
投票

可以计算输出大小,如文档中所示。nn.Conv1d - 形状:

Conv1d size

批量大小保持不变,您已经知道了通道数,因为您在创建卷积时已经指定了通道数(depth_2 在本例中)。)

只有长度需要计算,你可以用一个类似于上面公式的简单函数来计算。

def calculate_output_length(length_in, kernel_size, stride=1, padding=0, dilation=1):
    return (length_in + 2 * padding - dilation * (kernel_size - 1) - 1) // stride + 1

所指定的默认值也是以下公式的默认值 nn.Conv1d因此,你只需要指定你也指定什么来创建卷积。它使用一个整数除法 //因为分子可能不被除以 stride在这种情况下,它只是被四舍五入(用只在底部关闭的括号表示)。

同样的公式也适用于 nn.MaxPool1d但请记住,它将自动设置 stride = kernel_size 如果 stride 未指定。

© www.soinside.com 2019 - 2024. All rights reserved.