About shape_invariants in for loop?

When I running the following code in model.fit mode, I get error:

ValueError: ‘context_vec’ has shape (None, 512) before the loop, but shape (None, None) after one iteration. Use tf.autograph.experimental.set_loop_options to set shape invariants.
But I check the ‘context_vec’ shape while loop using context_vec.shape, I can’t see any change of shape;
I also try to us [tf.autograph.experimental.set_loop_options] , but error occurs,

Code:

mel_outputs, attn_scores, stop_outputs = [], [], []

    for t in range(0, steps, 2):
       # tf.autograph.experimental.set_loop_options(shape_invariants=[(context_vec,tf.TensorShape([None,None]))])  # Try to set options like this, but no work and also error.

        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)

Anyone can help me about it? How to set shape_invariants correctly under model.fit with keras?

Hi @11122

Welcome to the TensorFlow Forum!

Please provide some more details or share the complete reproducible code to replicate the error and to understand and fix the issue. Thank you.