title: why set return_sequences=True and stateful=True for tf.keras.layers.LSTM?
body: <p>I am learning tensorflow2.0 and follow the <a href="https://www.tensorflow.org/alpha/tutorials/sequences/text_generation" rel="noreferrer">tutorial</a>. In the <code>rnn</code> example, I found the code:</p>
  
  <pre><code>def build_model(vocab_size, embedding_dim, rnn_units, batch_size):
    model = tf.keras.Sequential([
      tf.keras.layers.Embedding(vocab_size, embedding_dim, 
                                batch_input_shape=[batch_size, None]),
      tf.keras.layers.LSTM(rnn_units, 
                          return_sequences=True, 
                          stateful=True, 
                          recurrent_initializer='glorot_uniform'),
      tf.keras.layers.Dense(vocab_size)
    ])
    return model
  </code></pre>
  
  <p>My question is: why the code set the argument <code>return_sequences=True</code> and <code>stateful=True</code>? How about using the default argument?</p>