RNN数据维度问题请教

在把输入数据为(500,4)的数据送入到RNN中,出现了问题,已经用reshape函数把数据改为(500,4,1)。最后想输出(500,28),不知道哪里出了问题。代码如下,希望有大佬可以教教我。感谢!
x_input = Input((4,1))
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4,return_sequences=True))(x_input)
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4,return_sequences=True))(x)
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4,return_sequences=True))(x)
x=Dense(28)(x)

x_input = Input((4,1))
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4,return_sequences=True))(x_input)
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4,return_sequences=True))(x)
x=tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(4))(x)
x=Dense(28)(x)

最后一个RNN不需要返回return_sequences