问题标签 [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 投票
1 回答
328 浏览

tensorflow - C++中的Tensorflow:成功读取LSTM编码器解码器模型的协议缓冲区

我已经调试这个问题一段时间了。我开发了一个 LSTM 编码器解码器模型,我计划在 C++ 中部署它。

以.pb文件格式保存模型后,我可以导入模型和数据并将其部署在 python 中。但是,当我尝试使用 C++ API 导入图形时,该函数TF_GraphImportGraphDef()返回错误代码TF_NOT_FOUND。我怀疑,这是因为我使用的是光束搜索方法,并且 op 的符号GatherTree不包含在tensorflow.dll/lib我在 windows 上使用 Bazel 生成的符号中。

我想知道是否有人以前遇到过此问题或对此问题有任何解决方案。

链接到_beam_search_ops.dll是一个可能的解决方案吗?我也尝试过TF_LoadLibrary()使用c_api.h. 但是,我无法加载库。

任何输入将不胜感激。另外,我正在使用 tensorflow 1.14 版。

0 投票
0 回答
249 浏览

tensorflow - Keras 循环 LSTM 层

我正在尝试构建一个基本上是序列到序列模型的模型,但我有一个特殊的编码器,即“辅助编码器”。

辅助编码器中的时间步长 = 300

这个编码器有一个特殊的属性,本质上它是一个GRU,但是在每个时间步都需要改变GRUCell产生的隐藏状态,需要添加另一个变量,然后这个组合(新的隐藏状态)是传递给下一个 GRUCell,它使用这个作为 initial_state........这个东西重复了 300 次。

由于需要 300 个 GRUCell(每个时间步一个),因此对 300 层中的每一层进行硬编码并创建模型是不可行的。所以,我需要帮助来弄清楚如何编写一个循环来在 keras 中实现这个东西,或者如何创建一个自定义层(如果这是一个更好的选择)。

我的想法(伪代码):-

这里alpha是我要添加的变量

这行得通吗?该模型是否能够解释它需要在每个训练示例中循环 300 次?

这个模型很大,它有跳过连接和许多其他的东西,这就是为什么我需要你的帮助来解决我的问题的这个子集,然后我才实现其余的,请忽略语法,这只是伪代码。

另外,我需要再次调用这个模型,所以我认为迭代方式会大大减慢这个过程,对吧?

0 投票
1 回答
163 浏览

python - 在 seq-to-seq 模型中以推理模式进行训练

这显然是我写的带有嵌入的 seq2seq 模型的代码

我们正在使用推理模式进行预测,特别是编码器和解码器模型,但我不确定编码器和解码器的训练在哪里进行?

编辑 1

代码基于:https://keras.io/examples/lstm_seq2seq/,添加了嵌入层和时间分布密集层。
有关问题的更多信息:github repo

0 投票
1 回答
3611 浏览

jupyter-notebook - 我如何使用 BERT 进行机器翻译?

我有一个大问题。对于我的学士论文,我必须用 BERT 制作一个机器翻译模型。但我现在没有任何进展。您知道可以在这里帮助我的文档或其他内容吗?我已经阅读了一些关于这个方向的论文,但也许有一个文档或教程可以帮助我。

对于我的学士论文,我必须将文本摘要翻译成标题。我希望有一个人可以帮助我。

0 投票
2 回答
2706 浏览

tensorflow - 序列到序列 - 用于时间序列预测

我试图建立一个序列到序列模型,以根据传感器信号的前几个输入预测随时间变化的传感器信号(见下图) 在此处输入图像描述

该模型工作正常,但我想“增加趣味”并尝试在两个 LSTM 层之间添加一个注意力层。

型号代码:

我查看了文档,但我有点迷茫。任何帮助添加注意力层或对当前模型的评论将不胜感激


更新: 在谷歌搜索之后,我开始认为我错了,我重写了我的代码。

我正在尝试迁移我在此GitHub 存储库中找到的 seq2seq 模型。在存储库代码中,演示的问题是根据一些早期样本预测随机生成的正弦波。

我有一个类似的问题,我正在尝试更改代码以满足我的需要。

差异:

  • 我的训练数据形状是 (439, 5, 20) 439 个不同的信号,5 个时间步长,每个具有 20 个特征
  • fit_generator拟合数据时我没有使用

超级参数:


编码器代码:


解码器代码:


模型总结:


尝试拟合模型时:

我收到以下错误:

我究竟做错了什么?

0 投票
2 回答
1577 浏览

python - AssertionError: 无法计算输出张量(“softmax_layer/Identity:0”,shape=(None, 27, 8870), dtype=float32)

我正在尝试开发具有注意力机制的聊天机器人。但它给出了这样的错误。我的 x_train 输入形状是 (None, 27),输出形状是 (None, 27, 8870)。但我无法正确识别错误。

它给出了这样的错误:

in () ----> 1 full_model.fit(x_train[:1000, :], outs, epochs=1, batch_size=BATCH_SIZE)

AssertionError:在用户代码中:

0 投票
1 回答
215 浏览

nlp - 损失函数负对数似然给出损失尽管完美的准确性

我正在调试一个序列到序列的模型,并故意尝试完美地过拟合约 200 个样本的小数据集(长度在 5-50 之间的句子对)。我在 pytorch 中使用负对数似然损失。我得到低损失(~1e^-5),但在同一数据集上的准确率只有 33%。

我也在 3 个样本上训练了模型,并获得了 100% 的准确率,但在训练期间我有损失。我的印象是,如果预测标签和目标标签之间不匹配,负对数似然只会产生损失(损失在 ~1e^-5 的同一区域内)?

我的代码中可能存在错误吗?

0 投票
1 回答
82 浏览

keras - 多对多序列预测可变长度输入/输出inkeras

我试图使用 Keras 预测可变长度输入/输出多对多序列,下面的数据框是数据的表示。5 列和 1 个目标列。

为了重塑数据,有六个样本,5列,一次输入一列,y是6个样本,一次1列

我看到一个错误“使用序列设置数组元素。是因为输入是列表的混合吗?如果是这样如何展平这个?

0 投票
1 回答
191 浏览

pytorch - 带有注意力的神经机器翻译中的嵌入层

我正在尝试了解如何在本网站的关注下实现 seq-to-seq 模型。

我的问题: nn.embedding 是否只为每个单词返回一些 ID,所以每个单词的嵌入在整个训练期间都是相同的?或者他们在培训过程中是否发生了变化?

我的第二个问题是因为我很困惑训练后 nn.embedding 的输出是否是 word2vec 词嵌入之类的东西。

提前致谢

0 投票
1 回答
25 浏览

python-3.x - 如果我使用嵌入层,如何解码我的 seq-to-seq 模型的输出?

我有一个用一些聪明的机器人数据训练的 seq to seq 模型:

justphrases_X 是句子列表,justphrases_Y 是对这些句子的响应列表。

当我使用这个模型进行预测时,由于我使用了 softmax,输出将介于 0 和 1 之间。但是,由于我有大约 3000 个唯一单词,每个单词都分配有一个单独的整数,我如何从本质上重复模型在训练期间所做的事情并将输出转换回一个分配有单词的整数?