LSTM states are taken care of under the hood but you have to provide an initial state from which to start the recurrent network. You’d usually want to use zeros for the initial state but there are cases where you might want to start with a different value (e.g. when performing truncated backprop through time). If you call the LSTM layer with no initial state, it assumes you want a zero state and takes care of generating the zeros tensor for you.