并联模型,两个模型输出作为第三个模型输入,tensorflow1.13.1

模型并联

将两个CNN输出接入到LSTM中做并联处理

书写两个模型:

    model_left=Sequential()
    input_left=Input(shape=(16,10, 32, 32, 1))
    model_left=TimeDistributed(Conv3D(32, (3, 3, 3), strides=(1, 1, 1), name="conv",
            input_shape=(10, 32, 32, 1), padding="same", activation="relu"))(input_left)
    model_left=TimeDistributed(Conv3D(32, (3, 3, 3), strides=(
        1, 1, 1), name="CONV", padding="same", activation="relu"))(model_left)
    model_left=TimeDistributed(MaxPooling3D(name="pool1", strides=(
        2, 2, 2), pool_size=(2, 2, 2), padding="valid"))(model_left)
    model_left=TimeDistributed(Flatten())(model_left)
    model_left=Dropout(0.5)(model_left)

    model_left=Model(input_left,model_left)
    # 接入左边模型的输入和输出  model_left

    model_right = Sequential()
    input_right=Input(shape=(16,10, 32, 32, 1))
    model_right=TimeDistributed(Conv3D(32, (3, 3, 3), strides=(1, 1, 1), name="conv",
                                        input_shape=(10, 32, 32, 1), padding="same", activation="relu"))(input_right)
    model_right=TimeDistributed(Conv3D(32, (3, 3, 3), strides=(
        1, 1, 1), name="CONV", padding="same", activation="relu"))(model_right)
    model_right=TimeDistributed(MaxPooling3D(name="pool", strides=(
        2, 2, 2), pool_size=(2, 2, 2), padding="valid"))(model_right)
    model_right=TimeDistributed(Flatten())(model_right)
    model_right=Dropout(0.5)(model_right)
    model_right=Model(input_right,model_right)
    # 接入右边模型的输入和输出 model_right

将两个模型结合在一起

    concatenat = keras.layers.concatenate([model_left.output, model_right.output],axis=1)
    x = Bidirectional(LSTM(16, return_sequences=False,
                    stateful=False))(concatenat)
    x=Dropout(.3)(x)
    final_output = Dense(input_y.shape[1], activation='softmax', name='output')(x)
    model = Model(inputs=[input_left, input_right], outputs=final_output)

输出

调用API实现输出,和以往一样用fit以及evaluate
使用callbacks,控制训练

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值