问题标签 [sequence-to-sequence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
80 浏览

python - 如何将解码器 LSTM 的输出数据转换回单词?

我有一个模仿本教程中生成的编码器解码器网络: https ://towardsdatascience.com/how-to-implement-seq2seq-lstm-model-in-keras-shortcutnlp-6f355f3e5639

然而,解码器 LSTM 的输出将是 0 到 1 之间的数字。然而,在本教程中,单词被标记为整数。如何使用此标记化将此输出在 0 和 1 之间转换回单词?

另一种选择可能是使用一个热编码标记化,但您肯定仍然需要舍入输出以将浮动输出转换为整数?

0 投票
1 回答
472 浏览

python - 如何将 PyTorch Transformer 与多维序列到序列一起使用?

我正在尝试seq2seq使用 Transformer 模型。我的输入和输出是相同的形状(torch.Size([499, 128])其中 499 是序列长度,128 是特征数。

我的输入看起来像: 在此处输入图像描述

我的输出看起来像: 在此处输入图像描述

我的训练循环是:

我的模型是:

我的输出的形状torch.Size([32, 499, 128])32批处理,499是我的序列长度,128是特征的数量。但输出具有相同的值:

我究竟做错了什么?非常感谢您的帮助。

0 投票
1 回答
1104 浏览

pytorch - 多对多 LSTM PyTorch

我想在 PyTorch 中为 FashionMNIST 数据集构建一个 LSTM 模型。稍后我需要将其扩展到包含视频的不同数据集。

它应该得到一个图像序列(FashionMNIST)作为输入(比如说 20 张图像),输出应该告诉我序列中有多少运动鞋(第 6 类)以及它们在序列中的位置。

我想知道这是否可以使用简单的 LSTM 或简单的 CNN,或者我是否需要 CNN_LSTM?我试图在 PyTorch 中实现一个 CNN_LSTM。您可以在下面找到我当前的模型(现在会引发错误)。最后一行抛出以下错误:“输入必须有 3 个维度,得到 4 个”(我还添加了错误消息的第一部分作为图片)。有人可以提供一些帮助吗?我这样做的方式正确吗?我无法修复错误,我不确定我的其余代码是否正确。我对 LSTM 很陌生。另外,如何转换 FashionMNIST 数据集,使其始终以 20 张图像的序列出现?

提前谢谢了!

部分错误信息

0 投票
0 回答
25 浏览

tensorflow - 关于序列到序列模型中的编码器参数,梯度是“nan”

我一直致力于从头开始使用 Tensorflow 实现一个简单的编码器-解码器模型。我的目标是了解模型的内部工作原理,因此我从头开始实施它。我使用 GRU(门控循环单元)作为 RNN 单元。

由于某种原因,所有编码器权重矩阵的梯度都是,但对于解码器权重矩阵来说没问题。我猜反向传播没有通过上下文向量。但是我如何确保反向传播在编码器端也能正常工作呢?谢谢!nanhidden

0 投票
0 回答
19 浏览

tensorflow - 如何解决在 tensorflow 1.0.0 中未加载权重的错误?

这是代码,我使用的是 TensorFlow 1.0.0 和 python 3.5。我正在使用康奈尔电影对话语料库训练 seq2seq 聊天机器人。我已成功将 weights.ckpt 文件保存在目录中。 在此处输入图像描述

我收到此错误,但我不明白为什么我的 weigts 文件无法加载

0 投票
1 回答
66 浏览

python - 张量流图模式下 tfp.distributions.Categorical.log_prob 的解决方法/备用值

如果输入的标签超出范围,有没有办法避免tfp.distributions.Categorical.log_prob引发错误?

我将一批样本传递给该log_prob方法,其中一些样本具有 value n_categories + 1,当您从全零的概率分布中取样时,您会得到作为后备值的值。probs我的批次中的一些概率分布全为零**。

我不在乎log_prob在这些情况下我能从中获得什么价值,因为稍后我将掩盖它而不使用它。不确定一个fallback值是否可以以某种方式实现。如果没有,是否有任何解决方法可以避免在我以图形模式(使用 )执行时引发错误@tf.function

**这是因为我正在使用 RNN 进行随机解码,该 RNN 是一批可变长度序列,一个 seq to seq 任务。

0 投票
0 回答
59 浏览

python - 如何添加“编码器-解码器序列到序列模型的早期停止代码”

我需要您的帮助来添加使用现有验证数据集的代码并添加测试数据集,我还需要一个用于提前停止的代码。

此处使用的代码用于训练,我需要使用它进行验证并提前停止并对其进行测试。

0 投票
2 回答
216 浏览

python - 使用 Keras 注意力在 sequence2sequence 模型中连接层形状误差

我正在尝试在 Colab 中使用 Keras 实现一个简单的单词级序列到序列模型。我正在使用 Keras Attention 层。这是模型的定义:

模型编译很好,没有任何问题。编码器和解码器的输入和输出形状为:

这是 model.fit 代码:

当我运行 fit 阶段时,我从 Concatenate 层收到此错误:

因此,前 32 个是,128 个是来自和batch_size的输出形状,12 是解码器输入的令牌数。我无法理解如何解决此错误,我无法更改我认为的输入令牌的数量,对我有什么建议吗?decoder_outputsattention_out

0 投票
0 回答
22 浏览

machine-learning - 使用 LSTM 进行语言翻译的序列到序列建模

我正在使用 LSTM 进行语言翻译博客的序列到序列建模。但我无法理解以下代码行。为什么我们将 == 1.0 和 t+1 放在第 5 行?

我在互联网上搜索,但没有得到这个。如果有人可以帮助我,那将是一个很大的帮助。

在“准备数据”部分中,存在这行代码。

博客链接:https ://keras.io/examples/nlp/lstm_seq2seq/