如果我从Keras创建一个LSTM模型,然后从头开始创建一个神经网络,这可能吗



我想问,如果使用Keras的LSTM模型可以从头开始用神经网络继续下去,这可能吗?这是我的代码,如果我使用完整的库:

visible = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')
embedding = Embedding(len(word_index) + 1, EMBEDDING_DIM, weights = [embedding_matrix], input_length = MAX_SEQUENCE_LENGTH, trainable=False, name = 'embeddings')(visible)
lstm, states_h, states_c = LSTM(60, return_sequences=True, return_state=True, kernel_initializer="random_normal")(embedding)
pooling = GlobalMaxPool1D()(lstm)
hidden = Dense(10, activation='relu')(pooling)
output = Dense(2, activation='softmax')(hidden)

从上面的编码来看,Dense((层有可能被我自己的神经网络从头开始取代吗?

你的变量hidden没有定义,所以我真的不知道你想在这里完成什么,但我认为你应该能够做这样的事情:

visible = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')
embedding = Embedding(len(word_index) + 1, EMBEDDING_DIM, weights = [embedding_matrix], input_length = MAX_SEQUENCE_LENGTH, trainable=False, name = 'embeddings')(visible)
lstm, states_h, states_c = LSTM(60, return_sequences=True, return_state=True, kernel_initializer="random_normal")(embedding)
pooling = GlobalMaxPool1D()(lstm)
output = your_model(hidden)

你只需要确保你的模型的形状与hidden相对应

编辑:我没想到你想从头开始做一个模型。然后你必须制作一个自定义的keras层,这里有很好的解释:https://keras.io/guides/making_new_layers_and_models_via_subclassing/

最新更新