你如何在 Siraj Raval 的 seq2seq 教程中使编码器隐藏单元和解码器隐藏单元

我正在使用由 Siraj Raval 创建的 seq2seq 模型,但在编码器隐藏单元和解码器隐藏单元的数量方面存在问题。

在 Github 上 Siraj 的 TensorFlow seq2seq 教程(链接:https : //github.com/llSourcell/seq2seq_model_live/blob/master/2-seq2seq-advanced.ipynb),解码器隐藏单元的数量是编码器隐藏单元数量的两倍。在此笔记本随附的视频中(链接:https : //www.youtube.com/watch?v= ElmBrKyMXxs),Siraj 说这是因为他希望模型实际上必须学习,因为标签与它们的标签相同相应的输入。对于我的问题,我希望编码器隐藏单元的数量与解码器隐藏单元的数量相同。当我尝试将数字设置为彼此相等时,我收到以下错误消息:

ValueError: Dimensions must be equal, but are 220 and 120 for 'rnn/while/lstm_cell/MatMul' (op: 'MatMul') with input shapes: [?,220], [120,400].

这是从行中提出的 decoder_outputs_ta, decoder_final_state, _ = tf.nn.raw_rnn(decoder_cell, loop_fn)

我的代码与 Siraj 的代码有点不同,但我没有更改与模型工作方式有关的任何内容,只是它如何获取数据和大小。我的模型的词汇量大小为 30,输入嵌入大小为 20。我有 100 个编码器隐藏单元,因此(我认为)目前有 200 个解码器隐藏单元。我如何将编码器隐藏单元和解码器隐藏单元设置为相等?谢谢!


守着一只汪
浏览 199回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python