0

根据我的理解,一维的 CNN 输出大小是

output_size = (input_size - kernel_size + 2*padding)//stride + 1

请参阅PyTorch DQN 教程。在本教程中,它使用 0 填充,这很好。但是,它计算输出大小如下:

        def conv2d_size_out(size, kernel_size = 5, stride = 2):
            return (size - (kernel_size - 1) - 1) // stride  + 1

这是上面的错误还是我错过了什么?

4

1 回答 1

2

不,这不是错误,因为

size - (kernel_size - 1) - 1 = size - kernel_size + 2 * 0

用 0 作为填充
(它不是代码,它是一个对格式感到抱歉的方程)
我认为本教程使用的是官方文档中输出大小的公式,即

output_size = ((input_size + 2 * padding - dialation * (kernel_size - 1) - 1) // stride + 1

conv1d 的官方文档

于 2020-02-26T05:28:38.300 回答