“合并"替换 Keras/Tensorflow/Python3 [英] "Merge" replacement Keras/Tensorflow/Python3

查看:64
本文介绍了“合并"替换 Keras/Tensorflow/Python3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Merge 未与 Keras/Tensorflow/Python3 版本一起运行.对于以前的版本,Merge 正在运行.但是现在,它没有运行.所以我想我应该用替换合并"来转换这个代码.新的 Keras/Tensorflow/Python3 版本中缺少合并".

Merge is not running with Keras/Tensorflow/Python3 version. With previous versions, Merge was running. But now, it is not running. So I think I should convert this code with replacement "Merge". "Merge" is missing in new Keras/Tensorflow/Python3 version.

如何重写 Merge(..., mode='ave') 和 Merge(...,mode='concat') ?

How can I rewrite Merge(..., mode='ave') and Merge(...,mode='concat') ?

我的代码部分如下:

...

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 已替换为 Concatenate 和 Average,这是Keras新版本的一个变化.现在你应该像这样实现它们

Merge has been replaced with Concatenate and Average, It is a change in the new version of 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] )

可以在此处

这篇关于“合并"替换 Keras/Tensorflow/Python3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆