python - 如何在 tensorflow 中实现双向编码器?

标签 python tensorflow deep-learning encoder bidirectional

在 Tensorflow 中,所有编码器-解码器函数 (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/seq2seq.py) 使用 RNN 单元的单向实现。

我们如何在 Tensorflow 中实现双向编码器(http://arxiv.org/abs/1409.0473 或类似系统),以便在编码器-解码器设置中同时学习前向和后向序列?

最佳答案

其实很简单。您可以从第一个到最后一个序列正常编码,并将状态和最后一个输出作为输出;然后反转顺序并应用相同的过程,您将获得相同数量的状态和输出。您连接来自同一项目的每个状态对,然后获得组合状态和两个输出。

您可以只使用 TensorFlow 中的 API:bidirectional_dynamic_rnn .另外,this是Theano中的实现。

关于python - 如何在 tensorflow 中实现双向编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666762/

相关文章:

python - 如何测试依赖于 argparse 的 Python 类?

python - Tensorflow:更改深度 CNN 的批量大小时出错

tensorflow - seq2seq模型的预处理

python - Flask 中的 Popen 启动 Python 解释器

python - openCV2无法正确显示图像(添加了灰色区域)

python - FFMpeg 批量转换视频文件挂起

python - 帮助新手了解 TensorFlow 中的线性代数(三阶张量)

python - pip::找不到与 tensorflow-gpu 匹配的分布

python - LSTM 单元电路中的 num_unit 实际上是什么?

python - Tensorflow Seq2Seq 值错误