python - dynamic_decode 抛出 ValueError
问题描述
我正在尝试构建一个非常简单的 seq2seq 模型,但我不断收到奇怪的错误。我正在构建的模型类似于https://github.com/tensorflow/nmt。
我在解码阶段不断收到 ValueError
lstm_dec = tf.contrib.rnn.LSTMCell(nodes)
helper = tf.contrib.seq2seq.TrainingHelper(
output_embed, output_len, time_major=False, name = "trainHelper"
)
projLayer = tf.layers.Dense(DICTIONARY_SIZE, name="projection_layer")
# Decoder
decoder = tf.contrib.seq2seq.BasicDecoder(
lstm_dec,
helper,
last_state
)
# Dynamic decoding
outputs, _, _ = tf.contrib.seq2seq.dynamic_decode(decoder)
logits = projLayer(outputs.rnn_output)
ValueError: Could not flatten dictionary. Key had 2 elements, but value had 1 elements. Key: [<tf.Tensor 'decoding/decoder/transpose:0' shape=(70, ?, 128) dtype=float32>, <tf.Tensor 'decoding/decoder/transpose_1:0' shape=(70, ?) dtype=int32>]
这发生在我做 dynamic_decode() 以防万一 - 我的 batch_size 是 70 和 nodes=128
有没有其他人遇到过类似的问题?
谢谢!
解决方案
推荐阅读
- wpf - 如何在我的 WPF 应用程序中应用当前的 Windows 主题?
- yaml - YAML 中的这个数据结构是什么?
- c++ - 为什么标准库没有`std::istream`的类型访问器?
- c - 在 C 编程中,如果变量被声明为全局变量但随后被分配到 main 中,那么该变量存储在哪里?
- xamarin.forms - CollectionView 列表末尾的 KeepScrollOffset 行为
- ios - Swift:UIStackView 重叠所有视图而不是垂直堆叠它们
- java - Android Deeplink 两次打开应用
- python - print() 使用 pytesseract 清除控制台
- docker - Nextjs 环境变量始终未定义
- java - 如何从 sqlite 数据库添加到 for 循环