def _conv_bn_relu (**conv_params):
filters = conv_params ["filters"]
kernel_size = conv_params ["kernel_size"]
strides = conv_params.setdefault ("strides", (1, 1))
kernel_initializer = conv_params.setdefault ("kernel_initializer", "he_normal")
padding = conv_params.setdefault ("padding", "same")
kernel_regularizer = conv_params.setdefault ("kernel_regularizer", l2 (1.e-4))
def f (input):
conv = Conv2D (filters=filters, kernel_size=kernel_size,
strides=strides, padding=padding,
kernel_initializer=kernel_initializer,
kernel_regularizer=kernel_regularizer)(input)
return _bn_relu (conv)
return f
类似这样的,一层一层套函数,我实验下来貌似没有太大的区别