gpt4 book ai didi

python - Keras 一个 LSTM 之前的热嵌入

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:51 26 4
gpt4 key购买 nike

假设我有一个训练数据集作为多个序列,填充长度 = 40,字典长度为 80,例如,example = [0, 0, 0, 3, 4, 9, 22, ...] 我想将其输入到 LSTM 层中。我想要做的是将一个热编码器应用于序列,例如 example_after_one_hot.shape = (40, 80)。是否有能够执行此操作的 keras 层?我已经尝试过 Embedding,但是,它似乎不是一个单一的编码。

编辑:另一种方法是使用嵌入层。鉴于字典只​​有80个不同的键,我应该如何设置Embedding层的输出?

最佳答案

我认为您正在寻找预处理任务,而不是严格属于您网络的一部分。

Keras 有一个 one-hot 文本预处理功能,或许能帮到你。看看Keras text preprocessing .如果这不符合你的需要,你自己用 numpy 预处理它是相当容易的。你可以做一些像...

X = numpy.zeros(shape=(len(sentences), 40, 80), dtype='float32')
for i, sent in enumerate(sentences):
for j, word in enumerate(sent):
X[i, j, word] = 1.0

这将为您提供二维“句子”数组的一次性编码,其中数组中的每个单词都是小于 80 的整数。当然数据不一定是句子,它可以是任何类型的数据。

请注意,嵌入层用于学习数据的分布式表示,而不是用于将数据置于单一格式。

关于python - Keras 一个 LSTM 之前的热嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48179257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com