title: LSTM inputs for Tensorflow
body: <p>I'm trying to create an LSTM network in Tensorflow and I'm lost in terminology/basics. I have <em>n</em> time series examples so <strong>X</strong>=<strong>x</strong><sub>n</sub>, where 
  <strong>x</strong><sub>i</sub>=[[x<sub>1</sub><sup>1</sup>x<sub>1</sub><sup>2</sup>,x<sub>1</sub><sup>3</sup>],...,[x<sub>m</sub><sup>1</sup>x<sub>m</sub><sup>2</sup>,x<sub>m</sub><sup>3</sup>]] and where x<sub>i</sub><sup>i</sup> is a float. First of all I want to train a model that given the start of a sequence ([x<sub>1</sub><sup>1</sup>x<sub>1</sub><sup>2</sup>,x<sub>1</sub><sup>3</sup>]) I can predict the rest of the sequence. Then later I hope to include a classifier to predict which binary class each <strong>x</strong><sub>i</sub> belongs to.</p>
  
  <p>So my problem is what do I feed in to the start and pull out the end of my model? So far I have something that looks like the below</p>
  
  <pre><code>class ETLSTM(object):
      """docstring for ETLSTM"""
      def __init__(self, isTraining, config):
          super(ETLSTM, self).__init__()
  
          # This needs to be tidied
          self.batchSize = batchSize = config.batchSize
          self.numSteps = numSteps = config.numSteps
          self.numInputs = numInputs = config.numInputs
          self.numLayers = numLayers = config.numLayers
  
          lstmSize = config.lstm_size
          DORate = config.keep_prob
  
          self.input_data = tf.placeholder(tf.float32, [batchSize, numSteps,
                                                        numInputs])
          self.targets = tf.placeholder(tf.float32, [batchSize, numSteps,
                                                     numInputs])
          lstmCell = rnn_cell.BasicLSTMCell(lstmSize, forgetbias=0.0)
          if(isTraining and DORate &lt; 1):
              lstmCell = tf.nn.rnn_cell.DropoutWrapper(lstmCell,
                                                       output_keep_prob=DORate)
          cell = tf.nn.rnn_cell.MultiRNNCell([lstmCell]*numLayers)
  
          self._initial_state = cell.zero_state(batchSize, tf.float32)
  
          # This won't work with my data, need to find what goes in...
          with tf.device("/cpu:0"):
              embedding = tf.get_variable("embedding", [vocab_size, size])
              inputs = tf.nn.embedding_lookup(embedding, self._input_data)
  
          if(isTraining and DORate &lt; 1):
              inputs = tf.nn.dropout(inputs, DORate)
  </code></pre>
  
  <p><strong>EDIT</strong>:
  Specifically, how to I finish the <code>__init__</code> function so that it is compatible with my data?</p>