微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决类型错误: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 举报,一经查实,本站将立刻删除。