我構建了以下編碼器-解碼器架構,編碼器和解碼器都可以單獨工作:from tensorflow.keras.layers import LSTM, Input, Reshape, Lambdafrom tensorflow.keras.models import Modelfrom tensorflow.keras import backend as KWORD_TO_INDEX = {"foo": 0, "bar": 1}MAX_QUERY_WORD_COUNT = 10QUERY_ENCODING_SIZE = 15# ENCODERquery_encoder_input = Input(shape=(None, len(WORD_TO_INDEX)), name="query_encoder_input")query_encoder_output = LSTM(QUERY_ENCODING_SIZE, name="query_encoder_lstm")(query_encoder_input)query_encoder = Model(inputs=query_encoder_input, outputs=query_encoder_output)# DECODERquery_decoder_input = Input(shape=(QUERY_ENCODING_SIZE,), name="query_decoder_input")query_decoder_reshape = Reshape((1, QUERY_ENCODING_SIZE), name="query_decoder_reshape")(query_decoder_input)query_decoder_lstm = LSTM(QUERY_ENCODING_SIZE, name="query_decoder_lstm", return_sequences=True, return_state=True)recurrent_input, state_h, state_c = query_decoder_lstm(query_decoder_reshape)states = [state_h, state_c]query_decoder_outputs = []for _ in range(MAX_QUERY_WORD_COUNT): recurrent_input, state_h, state_c = query_decoder_lstm(recurrent_input, initial_state=states) query_decoder_outputs.append(recurrent_input) states = [state_h, state_c]query_decoder_output = Lambda(lambda x: K.concatenate(x, axis=1), name="query_decoder_concat")(query_decoder_outputs)query_decoder = Model(inputs=query_decoder_input, outputs=query_decoder_output)這是我用于解碼器的模板。(請參閱“如果我不想使用教師強制進行培訓怎么辦?”部分。)我依靠這些 StackOverflow 問題(尤其是最后一個)來弄清楚如何將模型組合在一起。這個錯誤是什么意思,我該如何解決?
添加回答
舉報
0/150
提交
取消