我正在尝试在keras中创建模型。我阅读了一篇论文,并希望从本文中创建一个模型。这是我想要的: ArchitectureInPaper
我尝试创建这样的模型,但是我不知道如何在Keras中连接两个模型。以及本文中如何创建类似这种架构的模型。
input1 = Input(shape=(96,96,3))
x1 = Conv2D(64,
(5,5),input_shape=input_shape,padding='same',activation='relu',strides=
(2,2))(input1)
x1 = MaxPooling2D(pool_size=(2,2))(x1)
x1 = Conv2D(128,
(5,5),input_shape=input_shape,padding='same',activation='relu',strides=
(2,2))(input1)
x1 = MaxPooling2D(pool_size=(2,2))(x1)
x1 = Conv2D(256,
(5,5),input_shape=input_shape,padding='same',activation='relu',strides=
(2,2))(input1)
x1 = MaxPooling2D(pool_size=(2,2))(x1)
input2 = Input(shape=(96,96,3))
x2 = Dense(4032,activation='relu')(input2)
input3 = Input(shape=(96,96,3))
x3 = Dense(300,activation='relu')(input3)
input4 = Input(shape=(96,96,3))
x4 = Dense(7,activation='softmax')(input4)
x = concatenate([input2,input4])
x = Dense(4039,activation='relu')(x)
x = Dense(1000,activation='relu')(x)
x = Dense(500,activation='relu')(x)
main_output = Dense(15, activation='sigmoid', name='main_output')(x)
model = Model(inputs=[input2,input4],outputs =[main_output])
答案 0 :(得分:0)
您可以使用concatenate
层。参见文档https://www.tensorflow.org/api_docs/python/tf/keras/layers/concatenate
x = keras.layers.concatenate([fc4032, emo8])
x的输出形状为4040,如纸张中所示。
答案 1 :(得分:0)
不清楚您打算实现哪种模型架构,Fig3或4? 对于图3所示的体系结构,您不需要连接任何两个层或模型。 对于图4中的体系结构,您最好可以在keras中尝试使用功能性API,该API可以使用keras.backend.concatenate()进行层级连接。
对stackoverflow本身进行回答将很有帮助。 How to concatenate two layers in keras?