问题标签 [encoder-decoder]

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 回答
773 浏览

tensorflow - TimeDistributed(Dense) vs Dense in seq2seq

鉴于下面的代码

如果我改变

decoder_dense = TimeDistributed(Dense(93, activation='softmax'))

decoder_dense = Dense(93, activation='softmax')

它仍然有效,但哪种方法更有效?

0 投票
0 回答
249 浏览

tensorflow - Keras 循环 LSTM 层

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

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

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

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

我的想法(伪代码):-

这里alpha是我要添加的变量

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

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

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

0 投票
0 回答
768 浏览

tensorflow - 将注意力层添加到编码器-解码器模型架构会产生更差的结果

我最初为Next Phrase Prediction定义了一个编码器-解码器模型架构,并在一些数据上对其进行了训练,我成功地能够使用相同的模型进行预测。但是当我尝试在架构中插入注意力层时,模型训练是成功的,但我无法分别定义编码器和解码器模型进行预测。这是我定义的新模型架构:

训练这个模型并使用相同的张量定义另一个编码器和解码器:

模型训练后的结果变差了,我相信我的模型架构有些问题。在尝试了许多排列之后,我得到了这个架构。浏览模型架构一次。

0 投票
1 回答
322 浏览

lstm - Tensorflow seq2seq 模型,损失值不错,但预测错误

我正在尝试训练 Seq2Seq 模型。它应该将句子从 source_vocabulary 翻译成 target_vocabulary 中的句子。

损失值为 0.28,但网络不会从目标词汇表中预测单词。相反,网络的预测是负值。我不确定,如果代码中的某些内容是错误的,或者词汇量是否太大,或者我没有接受足够的训练。我用大约 270 000 个句子的数据集的一部分进行训练。即使损失值减少,我也不知道网络是否正在学习一些东西。

0 投票
0 回答
106 浏览

keras - Keras - 嵌入层输入错误和相应的 input_length 错误

Input我在取Embedding第一层时遇到错误。(,9)尽管我在 中明确提到了形状,但它无法找到形状的张量Input()。有人可以帮我解决这个问题吗?

代码如下:

0 投票
1 回答
83 浏览

gzip - 反应式 GZIP 解码器

Spring-core 5.2 具有带有解码器的编解码器包,例如StringDecoder支持反应式编程。API 获取Publisher<DataBuffer>并返回解码Flux<String>

我希望找到 GzipDecoder 获得Publisher<DataBuffer>Publisher<ByteArray>gzip 并返回 uncomperesedFlux<ByteArray>但我没有找到它。

我发现符合我要求的唯一库是https://github.com/kptfh/gzip-reactive 但它非常不成熟

任何熟悉成熟的代码?

0 投票
1 回答
77 浏览

python - 错误:遵循序列到序列教程的 Keras 中的维度冲突层

按照本教程 https://blog.keras.io/a-ten-minute-introduction-to-sequence-to-sequence-learning-in-keras.html

具体来说,关于使用整数排序的数据而不是 one-hot 编码的部分。

  • 从下面的错误消息中,我可以看到它与维度冲突有关。我按照原始教程进行操作,当编码器、解码器输入和解码器输出的形状相同时(因为使用一个热向量对数据进行预处理),没有出现此类问题。这让我相信我的 .Model 输入的尺寸是罪魁祸首。但是,我希望使用嵌入层应用掩码,这需要使用整数序列数据。

编码器输入形状:TensorShape([None, None])

解码器输入形状:TensorShape([None, None])

解码器输出形状:TensorShape([None, None, 99])

我发现的每个教程似乎都表明这不是问题(?)。

模型摘要

0 投票
1 回答
163 浏览

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

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

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

编辑 1

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

0 投票
1 回答
284 浏览

python - 如何在编码器解码器模型的训练期间填充序列

我有一个用于字符级英语拼写校正的编码器-解码器模型,它是非常基本的东西,有两个 LSTM 编码器和另一个 LSTM 解码器。

但是,到目前为止,我一直在预先填充编码器输入序列,如下所示:

接下来我一直将数据分成几个具有相同解码器输入长度的组,例如

其中关键是解码器输入数据的长度,我一直在为循环中的每个长度训练一次模型。

但是,必须有更好的方法来做到这一点,例如在 EOS 之后或 SOS 字符之前进行填充等。但如果是这种情况,我将如何更改损失函数,以便该填充不计入损失?

0 投票
0 回答
112 浏览

surfaceview - 如何将原始视频数据(YUV/RGB)数据发送到 android 上的表面?

我正在开发一个应用程序,我需要在表面上发送原始数据(YUV/RGB)数据,在那里我可以看到视频。

现在我正在做的是,我正在接收一个编码帧(h265 形式)并将其提供给解码 API 以进一步解码,然后将解码后的数据直接传递给表面 API,这部分到目前为止工作正常。

现在我想要的是,我想在传递到表面之前进一步处理解码数据。我没有得到任何支持。如果有人可以帮助我将 YUV/RGB 形式的原始数据传递到表面,那么我将不胜感激。

提前谢谢你。

谢谢,罗纳克