ValueError: Input 0 is incompatible with layer lstm: expected shape=(None, None, 90), found shape=[90, 1, 64]
This says that the input shape is not what LSTM_cell expects. Probably, you may need to correct one-by-one. The first step is to correct the last dimension. It needs to be equal to the shape of input values, i.e, 90. I’m afraid that you set the depth, 2nd argument, for tf.one_hot() to 64, which is the number of units in LSTM_cell.
And, it is better for you to track how the shape of x changes.
shape x: (None, 1, 90)
shape x after argmax: (None,)
shape x after onehot: (None, 90)
shape x after RepeatVector: (None, 1, 90)
For further debugging, it is better to reset LSTM_cell everytime. (Do not need to restart a kernel.)
LSTM_cell = LSTM(n_a, return_state = True)
For more detail, please visit this thread