使用keras2.0 将Merge层改为函数式

时间:2021-05-22

不能再向以前一样使用

model.add(Merge([Model1,Model2]))

必须使用函数式

out = Concatenate()([model1.output, model2.output])

补充知识:keras 新版接口修改

1.

# b = MaxPooling2D((3, 3), strides=(1, 1), border_mode='valid', dim_ordering='tf')(x)

b = MaxPooling2D((3, 3), strides=(1, 1), padding='valid', data_format="channels_last")(x)

2.

from keras.layers.merge import concatenate# x = merge([a, b], mode='concat', concat_axis=-1)x = concatenate([a, b], axis=-1)

3.

from keras.engine import mergem = merge([init, x], mode='sum')Equivalent Keras 2.0.2 code:from keras.layers import addm = add([init, x])

4.

# x = Convolution2D(32 // nb_filters_reduction_factor, 3, 3, subsample=(1, 1), activation='relu', # init='he_normal', border_mode='valid', dim_ordering='tf')(x) x = Conv2D(32 // nb_filters_reduction_factor, (3, 3), activation="relu", strides=(1, 1), padding="valid", data_format="channels_last", kernel_initializer="he_normal")(x)

1.

# b = MaxPooling2D((3, 3), strides=(1, 1), border_mode='valid', dim_ordering='tf')(x)b = MaxPooling2D((3, 3), strides=(1, 1), padding='valid', data_format="channels_last")(x)

2.

from keras.layers.merge import concatenate# x = merge([a, b], mode='concat', concat_axis=-1)x = concatenate([a, b], axis=-1)

3.

from keras.engine import mergem = merge([init, x], mode='sum')Equivalent Keras 2.0.2 code:from keras.layers import addm = add([init, x])

4.

# x = Convolution2D(32 // nb_filters_reduction_factor, 3, 3, subsample=(1, 1), activation='relu', # init='he_normal', border_mode='valid', dim_ordering='tf')(x) x = Conv2D(32 // nb_filters_reduction_factor, (3, 3), activation="relu", strides=(1, 1), padding="valid", data_format="channels_last", kernel_initializer="he_normal")(x)

以上这篇使用keras2.0 将Merge层改为函数式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章