python - 我们如何为任意长度的输入训练深度学习模型?
问题描述
我使用 keras 创建了一个深度学习模型。我正在根据不同长度的评论训练模型。我对输入数据进行了预处理,并将其填充为相等的长度。在预测时,如果我给出一个长度大于我的训练输入的输入,模型就会失败。我应该怎么办?请分享一些非常有用的例子。
latent_dim = 1024
inpt = Input(shape=(max_len,)) ### max_len is the final length
emb_layer = Embedding(vocabulary_size, 100, weights=[embedding_matrix], trainable = False)(inpt)
bdlstm1 = Bidirectional(LSTM(64, return_sequences = True))(emb_layer)
dns2 = Dense(no_labels, activation='softmax')(bdlstm1)
model = Model(inpt, dns2)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x,y)
解决方案
我想你会在这里找到满意的答案:
https://ai.stackexchange.com/questions/2008/how-can-neural-networks-deal-with-varying-input-sizes
最好的(也是唯一简单的)方法是使用 RNN。
祝你好运 !
推荐阅读
- python - 使用嵌套列名将嵌套的 json 展平为 csv
- c# - 是否可以通过鼠标右键触发 ListView 上的 DoubleClicked 事件?
- scala - 如何通过子序列拆分序列?
- android - Android 5.2.2 上的 Ionic 4 App 黑屏
- delphi - DataSnap 没有关闭 SQL Server 连接的
- angular - Schematic 输入不针对 Schema 进行验证:{"name":"my-app"}
- curl - 如何在量角器配置文件中发出请求
- docker - 在 docker compose yml 中使用容器名称或 id 作为环境变量
- javascript - 在树形图中声明系列的最小宽度
- python-3.x - rows, cols, _ = frame.shape AttributeError: 'NoneType' 对象没有属性 'shape