keras:Convolution2D与Conv2D

关系

总体区别:Convolution2D = Conv2D
参考来源:源文件 github.keras.layder.convolutional

# Aliases
Convolution1D = Conv1D
Convolution2D = Conv2D
Convolution3D = Conv3D
SeparableConvolution1D = SeparableConv1D
SeparableConvolution2D = SeparableConv2D
Convolution2DTranspose = Conv2DTranspose
Deconvolution2D = Deconv2D = Conv2DTranspose
Deconvolution3D = Deconv3D = Conv3DTranspose

区别示例

代码示例:

    input_shape = (72,14,1)
    x = Input(shape = input_shape)
    c1 = Convolution2D( 64 , 9 , 9 , activation = 'relu', init = 'he_normal', border_mode='same')(x) #649*9滤波器,relu
    c2 = Convolution2D( 32 , 1 , 1 , activation = 'relu', init = 'he_normal', border_mode='same')(c1) #321*1滤波器,relu
    c3 = Convolution2D( 1 , 5 , 5 , init = 'he_normal', border_mode='same')(c2)#15*5滤波器
    
    #c1 = Conv2D(64, (9, 9), activation="relu", padding="same", kernel_initializer="he_normal")(x)
    #c2 = Conv2D(32, (1, 1), activation="relu", padding="same", kernel_initializer="he_normal")(c1)
    #c3 = Conv2D(1, (5, 5), padding="same", kernel_initializer="he_normal")(c2)

参考来源:某模型的不同两篇源码

Conv2D

用法:

keras.layers.convolutional.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

参数:

filters:卷积核的数目(即输出的维度)

kernel_size:卷积核的宽度和长度。

strides:为卷积的步长。

padding:补0策略,为“valid”, “same” 。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。

activation:激活函数。如果不指定该参数,将不会使用任何激活函数

dilation_rate:指定dilated convolution中的膨胀比例。

data_format:字符串,“channels_first”或“channels_last”之一,代表图像的通道维的位置。“channels_last”对应原本的“tf”,“channels_first”对应原本的“th”。以128x128的RGB图像为例,“channels_first”应将数据组织为(3,128,128),而“channels_last”应将数据组织为(128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则为“channels_last”。

use_bias:布尔值,是否使用偏置项

kernel_initializer:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。参考initializers

bias_initializer:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。参考initializers

kernel_regularizer:施加在权重上的正则项,为Regularizer对象

bias_regularizer:施加在偏置向量上的正则项,为Regularizer对象

activity_regularizer:施加在输出上的正则项,为Regularizer对象

kernel_constraints:施加在权重上的约束项,为Constraints对象

bias_constraints:施加在偏置上的约束项,为Constraints对象

输入shape:

‘channels_first’模式下,输入形如(samples,channels,rows,cols)的4D张量

‘channels_last’模式下,输入形如(samples,rows,cols,channels)的4D张量

输出shape:

‘channels_first’模式下,为形如(samples,nb_filter, new_rows, new_cols)的4D张量

‘channels_last’模式下,为形如(samples,new_rows, new_cols,nb_filter)的4D张量

参考来源:keras中文文档

你可能感兴趣的:(深度学习与Python,tensorflow,keras,Conv2D,Convolution2D,python)