【发布时间】:2021-08-06 15:03:13
【问题描述】:
当我在 model.fit 模式下运行以下代码时,出现错误:
ValueError: 'context_vec' 在循环之前具有形状 (None, 512),但在一次迭代后具有形状 (None, None)。使用 tf.autograph.experimental.set_loop_options 设置形状不变量。
代码:
mel_outputs, attn_scores, stop_outputs = [], [], []
for t in range(0, steps, 2):
prenet_in = m[:, :, t - 1] if t > 0 else go_frame
mel_frames, scores, hidden_states, cell_states, context_vec, stop_tokens = self.decoder(encoder_seq, encoder_seq_proj, prenet_in,
hidden_states, cell_states, context_vec, t, x)
mel_outputs.append(mel_frames)
attn_scores.append(scores)
stop_outputs.extend([stop_tokens] * 2)
但我在训练中多次看不到任何形状变化。在 eager_mode 中,这些代码运行良好。那么如何重写代码以获得正确答案呢?我真的需要你的帮助!等待您的回复。
【问题讨论】:
-
有人知道怎么做吗?
标签: tensorflow while-loop shapes