创建python算法来训练keras模型以预测大整数序列

创建python算法来训练keras模型以预测大整数序列,python,tensorflow,machine-learning,keras,Python,Tensorflow,Machine Learning,Keras,我是机器学习新手,但我正试图将它应用到我的一个项目中。我能够训练一个模型,使用LSTM层将单词从一种语言转换为另一种语言。假设我使用A作为模型的输入,得到B作为输出。我所做的是: “原始单词”->单词嵌入->一个热编码(A)->模型->一个热编码输出(B)->单词嵌入->翻译单词” 这是相对简单的,因为我使用字符级标记器对单词进行编码,并且不需要太多内存(小序列,每个单词一个) 然而,我现在必须训练一个模型,该模型将B作为输入,并给我C(不再是翻译问题)。C稍后将用于不同的目的。不同之处在于C的

我是机器学习新手,但我正试图将它应用到我的一个项目中。我能够训练一个模型,使用LSTM层将单词从一种语言转换为另一种语言。假设我使用A作为模型的输入,得到B作为输出。我所做的是:

“原始单词”->单词嵌入->一个热编码(A)->模型->一个热编码输出(B)->单词嵌入->翻译单词”

这是相对简单的,因为我使用字符级标记器对单词进行编码,并且不需要太多内存(小序列,每个单词一个)

然而,我现在必须训练一个模型,该模型将B作为输入,并给我C(不再是翻译问题)。C稍后将用于不同的目的。不同之处在于C的长度可以是315个数字,每个数字可以是5514个唯一值中的一个,即形状(2155514)。一般来说,我想做的是,例如:

“香蕉”->(一些处理、单词嵌入或一个热门)->模型->[434, 434, 410, 321, 225, 146, 86, 43, 13, -8, -23, -32, -38, -41, -13, 101, 227, 332, 411, 470, 515, 550, 577, 597, 611, 622, 628, 622, 608, 593, 580, 570, 561, 554, 549, 547, 548, 548, 549, 555, 564, 572, 579, 584, 587, 589, 590, 591, 591, 591, 590, 590, 584, 567, 550, 535, 524, 516, 511, 506, 503, 503, 507, 511, 518, 530, 543, 553, 561, 568, 573、577、580、582、584、585、586、586、587、588、588、588、588、586]

因此,问题是我没有足够的内存对输出序列执行一次热编码。我尝试使用生成器从磁盘加载每个序列,而不是从内存加载所有序列,但它似乎不起作用

关于我应该如何处理这个问题,你有什么建议吗

编辑:
我使用的数据集具有以下格式:n行,每行包含两列,由一个制表符分隔。第一列是输入字,第二列是我希望获得的序列,如果输入是该字。

一个热编码根据数据集中的唯一类别增加列数。我认为您应该检查peR仅使用标记器而不是同时使用标记器的模型性能。因为大多数情况下,标记器本身的性能非常好。

谢谢您的回答!我尝试过了,但后来遇到了问题,因为输入层没有LSTM层所需的3维。如果您的数据没有意义序列,则可以使用哈希向量器。嘿,Maya,很抱歉反应太晚。我在那个网站上尝试了这种方法,但仍然得到了不好的结果。你知道我应该使用什么损失函数吗,因为我的数据不是分类的?keras文档中的损失函数似乎都不适合我的问题。至于你的另一个答案,我的数据确实有意义。我将输入输出序列另一个节目。。。