ValueError:未知层:Functional为什么?

问题描述

大家好。 现在这一个艰难的过程。我正在研究语音识别,而这一切都发生在我在github上找到的CTCModel类内。

我训练模型,将权重另存为.h5文件,并将体系结构保存在json文件中。 在Keras 2.4.0上一切似乎都正常运行

当我预测到我会遇到很多错误并降级到Keras 2.3.0

当我尝试加载模型时,它确实在Keras 2.4上加载,但无法预测。因此我降级到2.3,它将无法加载,并且标题ValueError: UnkNown layer: Functional)出现错误

已保存的json模型的第一行:

{"class_name": "Functional","config"...

这是我的模型结构

def final_model(input_dim,units,output_dim,padding_value):
    """ Build a bidirectional recurrent network for speech
    """
    # Main acoustic input
    input_data = Input(name='the_input',shape=(None,input_dim))
    masked_input = Masking(mask_value = padding_value)(input_data)

    # =============== 1st Layer =============== #
    # Add bidirectional recurrent layer
    bidirectional_rnn = Bidirectional(GRU(units,activation=None,return_sequences=True,implementation=2,name='bidir_rnn'))(masked_input)
    # Add batch normalization
    batch_normalization = Batchnormalization(name = "batch_normalization_bidirectional_rnn")(bidirectional_rnn)
    # Add activation function
    activation = Activation('relu')(batch_normalization)
    # Add dropout
    drop = Dropout(rate = 0.5)(activation)

    # =============== 2nd Layer =============== #
    # Add bidirectional recurrent layer
    bidirectional_rnn = Bidirectional(GRU(units,name='bidir_rnn'))(activation)
    # Add batch normalization
    batch_normalization = Batchnormalization(name = "batch_normalization_bidirectional_rnn_2")(bidirectional_rnn)
    # Add activation function
    activation = Activation('relu')(batch_normalization)
    # Add dropout
    drop = Dropout(rate = 0.5)(activation)
    
    # =============== 3rd Layer =============== #
    # Add a Timedistributed(Dense(output_dim)) layer
    time_dense = Timedistributed(Dense(output_dim))(activation)
    # Add softmax activation layer
    y_pred = Activation('softmax',name='softmax')(time_dense)

    model = CTCModel.CTCModel([input_data],[y_pred])
    model.compile(Adam(lr=0.0001))
    
    model.summary()
    return model

解决方法

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

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

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