如何在Keras中编码序列以对RNN进行排序?

ka

我正在尝试编写一个序列以在keras中对RNN进行排序。我使用从网上了解到的代码编写了该程序。我首先表征的文本,然后转换的文本成序列和填充以形式特征变量X首先将x左移,然后填充它,即可获得目标变量Y。最后,我将特征和目标变量输入到LSTM模型中。

这是我为此目的在keras中编写的代码。

from keras.preprocessing.text import Tokenizer,base_filter
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential
from keras.layers import Dense, Activation,Dropout,Embedding
from keras.layers import LSTM


def shift(seq, n):
    n = n % len(seq)
    return seq[n:] + seq[:n]

txt="abcdefghijklmn"*100

tk = Tokenizer(nb_words=2000, filters=base_filter(), lower=True, split=" ")
tk.fit_on_texts(txt)
x = tk.texts_to_sequences(txt)
#shifing to left
y = shift(x,1)

#padding sequence
max_len = 100
max_features=len(tk.word_counts)
X = pad_sequences(x, maxlen=max_len)
Y = pad_sequences(y, maxlen=max_len)

#lstm model
model = Sequential()
model.add(Embedding(max_features, 128, input_length=max_len, dropout=0.2))
model.add(LSTM(128, dropout_W=0.2, dropout_U=0.2))
model.add(Dense(max_len))
model.add(Activation('softmax'))
model.compile(loss='binary_crossentropy', optimizer='rmsprop')

model.fit(X, Y, batch_size=200, nb_epoch=10)

问题是它显示错误

Epoch 1/10
IndexError: index 14 is out of bounds for size 14
Apply node that caused the error: AdvancedSubtensor1(if{inplace}.0, Reshape{1}.0)
Toposort index: 80
马尔辛·莫耶科(MarcinMożejko)

问题在于:

model.add(Embedding(max_features, 128, input_length=max_len, dropout=0.2))

在嵌入文档中,您可能会看到提供给它的第一个参数应设置为词汇表的大小+1。这是因为在null索引处始终存在一个单词的位置0因此,您需要将此行更改为:

model.add(Embedding(max_features + 1, 128, input_length=max_len, dropout=0.2))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Excel中设置几个排序规则以对列进行排序?

如何在ImageDataGenerator中对序列数据进行热编码?

如何在SQL中添加序列/对数据进行排序

如何在 eval 语句中插入括号以对 JavaScript 中的操作进行排序?

一列热编码序列,其值在测试中不存在

如何创建可以对bash中的数组进行排序的函数?

如何使用Java从Google地理编码序列化和反序列化JSON对象

如何在DataGridView中重新排序列时对列索引进行排序?

有没有办法访问R中ENSEMBL上目标基因的特定编码序列?

如何在Keras RNN中实时实现前向传递?

如何在Kotlin或Java中对排序列表进行设置操作?

如何在python中对图像序列(具有不同的扩展名)进行排序

使用序列时,如何在Play框架中对Promise响应进行排序?

如何在c ++中对以下字符串序列进行排序?

如何在AutoIt中对2D数组的列序列进行排序

Keras LSTM如何在多元设置中对多个时间序列进行预测?

如何对数据进行排序以对 r 中的重复值进行分组?

如何在自定义Keras / Tensorflow损失函数中对值进行排序?

如何使用带有固定长度数据的Keras进行序列到序列模型(RNN / LSTM)?

如何在 C# 中以另一个排序列表为基础对 IList 进行排序?

如何在PlantUML序列图中对主题进行排序?

如何在多个排序列表上进行迭代?

在R中使用RNN(Keras)进行时间序列预测

如何获取JavaScript以对所有浏览器中的链接都可用的列表进行排序?

如何制作下拉菜单以对数据库中的数据进行排序

如何在WinJS中对ListView进行排序?

如何在clojure中对varargs进行排序?

如何在函数中对结构进行排序

如何在R中对颜色进行排序