简体   繁体   English

“合并”替换Keras / Tensorflow / Python3

[英]“Merge” replacement Keras/Tensorflow/Python3

Merge is not running with Keras/Tensorflow/Python3 version. 合并未与Keras / Tensorflow / Python3版本一起运行。 With previous versions, Merge was running. 在以前的版本中,Merge正在运行。 But now, it is not running. 但是现在,它没有运行。 So I think I should convert this code with replacement "Merge". 所以我认为我应该将此代码转换为替换“ Merge”。 "Merge" is missing in new Keras/Tensorflow/Python3 version. 新Keras / Tensorflow / Python3版本中缺少“合并”。

How can I rewrite Merge(..., mode='ave') and Merge(...,mode='concat') ? 如何重写Merge(...,mode ='ave')和Merge(...,mode ='concat')?

My code part is below : 我的代码部分如下:

...

from keras.layers import Merge
...
left_branch = Sequential()
left_branch.add(Convolution3D...
...
right_branch = Sequential()
right_branch.add(Convolution3D...
...
merged = Merge([left_branch, right_branch], mode='ave')
lstm_branch = Sequential()
lstm_branch.add(Embedding(input_dim=7, output_dim=8, input_length=7))
lstm_branch.add(LSTM(output_dim=8, input_shape=(7, ) ))
lstm_branch.add(Dense(32, activation='relu'))

model = Sequential()
model.add(merged)
merged_2 = Merge([model, lstm_branch], mode='concat')
model_2 = Sequential()
model_2.add(merged_2)
model_2.add(Dense(nb_classes,init='normal'))
model_2.add(Activation('softmax'))
model_2.compile(loss='categorical_crossentropy', optimizer='RMSprop', metrics=['accuracy'])

Merge has been replaced with Concatenate and Average, It is a change in the new version of Keras. 合并已被连接和平均取代,这是Keras新版本中的更改。 Now you should implement them like this 现在您应该像这样实现它们

from keras.layers.merge import Concatenate, Average   

layer_merge = Concatenate()( [layer1, layer2] )
layer_avg   = Average()( [layer1, layer2] )

The full documentation can be found here 完整的文档可以在这里找到

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM