类型错误:Keras 模型中 LSTM 层中“NoneType”和“float”的实例之间不支持“>”

问题描述

这是 Siamese LSTM 神经网络:

    first_masking_layer = Masking(mask_value=0.0)
    first_lstm_layer = LSTM(46,return_sequences=True,recurrent_dropout=0.75,kernel_regularizer=l2(1e-4),kernel_initializer='he_normal')
    first_bacth_norm = Batchnormalization()
    first_dropout_layer = Dropout(0.75)

    reference_input_layer = Input(shape=(23,None))
    reference_input_processed = first_masking_layer(reference_input_layer)
    reference_input_processed = first_lstm_layer(reference_input_processed)
    reference_input_processed = first_bacth_norm(reference_input_processed)
    reference_input_processed = first_dropout_layer(reference_input_processed)

    query_input_layer = Input(shape=(23,None))
    query_input_processed = first_masking_layer(query_input_layer)
    query_input_processed = first_lstm_layer(query_input_processed)
    query_input_processed = first_bacth_norm(query_input_processed)
    query_input_processed = first_dropout_layer(query_input_processed)

    concat_layer = concatenate([reference_input_processed,query_input_processed])
    masking_layer = Masking(mask_value=0.0)(concat_layer)
    lstm_layer = LSTM(23,return_sequences=False,recurrent_dropout=0.7,kernel_initializer='he_normal')(masking_layer)
    lstm_layer = Batchnormalization()(lstm_layer)
    lstm_layer = Dropout(0.75)(lstm_layer)
    prediction = Dense(2,activation="softmax")(lstm_layer)

    siamese_net = Model(inputs=[reference_input_layer,query_input_layer],outputs=prediction)
    print(siamese_net.summary())
    opt = Nadam(lr=2e-3)
    siamese_net.compile(optimizer=opt,loss='binary_crossentropy',metrics=['acc'])
    history_of_model = siamese_net.fit([x_train_left,x_train_right],y_train,epochs=10,verbose=1,validation_split=0.2,shuffle=True,batch_size=64)
    siamese_net.save(model_name)

该模型接受两个在线签名,原始签名和查询(原始或伪造),并输出查询签名是否真实。代码运行时,reference_input_processed出现如下错误

TypeError: '>' not supported between instances of 'nonetype' and 'float'

我认为这是由于输入形状为 (23,None)。数据没有被填充,因此我在形状中有 None

有没有办法解决这个错误或者数据是否必须被填充?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)