What is output of LSTM_cell after all?

Hi friend, and mentor,

I am in the hw of Improvise_a_Jazz_Solo_with_an_LSTM_Network_v4.
in the section of figure below, I should use _, a, c = LSTM_cell(x, initial_state=[a, c])

then, in the section of the figure below, i should use a, _, c = LSTM_cell(x, initial_state=[a, c])

I am confused here. why this a is in different place of output of LSTM_cell? If the 1st case is right, I just do the same thing for 2nd case, take the middle a as my a (_, a, c = LSTM_cell NOT a, _, c = LSTM_cell), then out = densor(a), then pick the highest prob index, then become my next x input, right?

So, what’s the difference of those a ? thank you!

this post asked the same question as well.

update:
In the section of “music_inference_model”, instead of using “a, _, c = LSTM_cell(x, initial_state=[a, c])” now, i changed to “_, a, c = LSTM_cell(x, initial_state=[a, c])”. it still passed all tests. And I do get 100/100 score as well. So… it seems like both versions work…

hmm…