python - 如果我从 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/
推荐阅读
- android - 无法为 Android 应用程序的特定经过身份验证的用户 (uid) 编写顶级集合(列表权限)的 Firestore 安全规则
- animation - 不循环时,Lottie 动画在 iOS 中无法正常工作
- python - 为什么 ndarray 函数作为不可变对象
- pandas - Pandas - 将嵌套的 json 分成多行
- postgresql - PostgreSQL 采用最长的一列数组
- yaml - 尝试将 yaml 文件闪存到 ESP8266 时出错
- ionic-framework - 产品构建中的离子巨大 svg 文件夹
- php - 如果名称来自数据库的数组,如何插入数据库,因为我们不知道将来会有多少数组
- java - Java Maven错误无效标志--add-opens
- swift - 删除 SwiftUI 中 NavigationLink 上 ContextMenu 的模糊预览