tensorflow - 在Tensorflow中的卷积层(Conv1D和Conv2D)中,设置padding ='same' 时,哪边填充0?

标签 tensorflow conv-neural-network tf.keras

tf.keras.layers.Conv1DConv2D 中,参数 padding 具有 'same'选项。我只想知道,例如 Conv1D,如果 kernel_size=2 和 stride=1,哪一侧(开始或结束)用 0 填充。

最佳答案

如果是Conv1D

如果要添加的列数(用于填充,p_i)是偶数,则左侧和右侧将统一填充 0。

如果要添加的列数(用于填充,p_i)为奇数,则只有右侧将填充 0。

要添加的列数可以使用以下公式计算:

Case 01: n_i%s = 0, p_i = max(k-s ,0)

Case 02: n_i%s != 0, p_i = max(k - (n_i%s)), 0)

其中 n_i 是输入形状(列数),p_i 是要为填充添加的列数,s 是步长,kernel 大小为 k。

关于tensorflow - 在Tensorflow中的卷积层(Conv1D和Conv2D)中,设置padding ='same' 时,哪边填充0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56965666/

相关文章:

machine-learning - 无法在 pylearn2 上编译 cuda_convnet 错误

google-colaboratory - ValueError:形状(无,1)和(无,5)在keras中不兼容

tensorflow - 定义自定义tf.keras层时是否还需要实现 `compute_output_shape()`?

python - 如何解决tensor_util.py 'TypeError: Incompatible types: <dtype: ' string'> vs. object.'?

python - ValueError : None is only supported in the 1st dimension. 张量 'flatbuffer_data' 具有无效形状 '[None, None, 1, 512]'

python - 激活或权重的丢失

python - 打印tensorflow 2.0损失函数的所有项

python - 类型错误 : 'module' object is not callable Tensorboard in Keras

algorithm - 如何仅通过张量操作将已知连通分量转换为邻接矩阵?

machine-learning - keras 和 scikit-learn 计算精度的差异