如果我从 Keras 创建一个 LSTM 模型,然后从头开始创建一个神经网络,是否有可能?
Is it possible if I create an LSTM model from Keras and followed by a Neural Network from scratch?
我想问一下,是否可以从头开始用神经网络继续使用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() 层是否可以用我自己的 Neural Network from Scratch 替换?
你的变量 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/
我想问一下,是否可以从头开始用神经网络继续使用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() 层是否可以用我自己的 Neural Network from Scratch 替换?
你的变量 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/