title: LSTMStateTuple vs cell.zero_state() for RNN in Tensorflow
body: <p>I am confused on what is the correct way to use the initial state tensor in Tensorflow for RNNs. There is almost a 50/50 split between turtorials that either use <a href="https://medium.com/@erikhallstrm/using-the-tensorflow-lstm-api-3-7-5f2b97ca6b73" rel="noreferrer">LSTMStateTuple</a> or <a href="http://r2rt.com/recurrent-neural-networks-in-tensorflow-ii.html" rel="noreferrer">cell.zero_state</a>.</p>
  
  <p>Are the two the same? If so, why are there two ways?</p>
  
  <p>In one example they use <code>tf.nn.rnn_cell.LSTMStateTuple</code> to set the initial state and in the other they use <code>cell.zero_state()</code>. </p>
  
  <p>Why are there two methods? When to prefer the one or the other? Can you only use <code>LSTMStateTuple</code> when you set <code>state_is_tuple</code>? If so, does <code>cell.zero_state()</code> no longer work?</p>