关于tensorflow.keras.models.Conv2D
函数功能声明:
80 def init(self, filters,
81 kernel_size,
82 strides=1,
83 padding='valid',
84 data_format='channels_last',
85 dilation_rate=1,
86 activation=None,
87 use_bias=True,
88 kernel_initializer=None,
89 bias_initializer=init_ops.zeros_initializer(),
90 kernel_regularizer=None,
91 bias_regularizer=None,
92 activity_regularizer=None,
93 kernel_constraint=None,
94 bias_constraint=None,
95 trainable=True,
96 name=None,
97 **kwargs):
其中的padding所表示的意思,根据源码说明:
padding: One of "valid"
or "same"
(case-insensitive).
但在看其他人开源的算法中有不同的使用方式,着实没搞清楚,求解求解,万分感谢
比较常见的使用方式:
deconv_1 = Conv2D(64,(2,3),(1,1),name = name+'_dconv_1',padding = 'same')(skipcon_1)
dbn_1 = BatchNormalization(name = name+'_dbn_1')(deconv_1)
没搞清楚的使用方式:
conv_1 = Conv2D(32, (2,5),(1,2),name = name+'_conv_1',**padding = [[0,0],[1,0],[0,2],[0,0]]**)(input_complex_spec)
bn_1 = BatchNormalization(name = name+'_bn_1')(conv_1)
out_1 = PReLU(shared_axes=[1,2])(bn_1)