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

(编辑:jimmy 日期: 2024/11/14 浏览:2)

不能再向以前一样使用

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 merge
m = merge([init, x], mode='sum')
Equivalent Keras 2.0.2 code:

from keras.layers import add
m = 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 merge
m = merge([init, x], mode='sum')
Equivalent Keras 2.0.2 code:

from keras.layers import add
m = 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层改为函数式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。