在 Keras 中实现模型。如何解释 padding/stride 值?
Implementing a model in Keras. How to interpret padding/stride values?
我正在尝试从图像中实现模型。
除了 stride/padding 符号外,一切都清楚了。
我不知道如何从 Keras 中的 1/2 interpret/code Stride/Padding。
您可以直接将stride参数传递给keras Layer。 (1,1)
的步幅相当于没有步幅。对于大小为 5x5 的内核,填充 (2,2) 意味着输出图像与输入图像具有相同的维度。 Keras 方式要求填充 = "same"
步长是在输入图像中应用卷积核时在水平和垂直方向上跳过多少个像素。
填充是如何复制边界图像像素(如果需要)以在通过 2D 卷积过滤时保持原始输入尺寸。当应用于图像边界时,3x3 内核会丢失居中内核周围的像素。添加填充确保缺失的像素是从现有像素创建的(通过复制边界像素值)。如果不是,则内核不会应用于边界像素,因此输出图像的尺寸会减少(3x3 内核每个边界丢失 1 个像素,5x5 内核丢失 2 个像素)
例如:
conv1 = Conv2D(20, (5, 5), activation='relu',padding = 'same',strides = (1,1))
我正在尝试从图像中实现模型。
除了 stride/padding 符号外,一切都清楚了。
我不知道如何从 Keras 中的 1/2 interpret/code Stride/Padding。
您可以直接将stride参数传递给keras Layer。 (1,1)
的步幅相当于没有步幅。对于大小为 5x5 的内核,填充 (2,2) 意味着输出图像与输入图像具有相同的维度。 Keras 方式要求填充 = "same"
步长是在输入图像中应用卷积核时在水平和垂直方向上跳过多少个像素。
填充是如何复制边界图像像素(如果需要)以在通过 2D 卷积过滤时保持原始输入尺寸。当应用于图像边界时,3x3 内核会丢失居中内核周围的像素。添加填充确保缺失的像素是从现有像素创建的(通过复制边界像素值)。如果不是,则内核不会应用于边界像素,因此输出图像的尺寸会减少(3x3 内核每个边界丢失 1 个像素,5x5 内核丢失 2 个像素) 例如:
conv1 = Conv2D(20, (5, 5), activation='relu',padding = 'same',strides = (1,1))