title: Tensorflow: Replacement for tf.nn.rnn_cell._linear(input, size, 0, scope)
body: <p>I am trying to get the SequenceGAN (<a href="https://github.com/LantaoYu/SeqGAN" rel="noreferrer">https://github.com/LantaoYu/SeqGAN</a>) from <a href="https://arxiv.org/pdf/1609.05473.pdf" rel="noreferrer">https://arxiv.org/pdf/1609.05473.pdf</a> to run.<br>
  After fixing the obvious errors, like replacing <code>pack</code> with <code>stack</code>, it still doesn't run, since the highway-network part requires the <code>tf.nn.rnn_cell._linear</code> function:</p>
  
  <pre><code># highway layer that borrowed from https://github.com/carpedm20/lstm-char-cnn-tensorflow
  def highway(input_, size, layer_size=1, bias=-2, f=tf.nn.relu):
      """Highway Network (cf. http://arxiv.org/abs/1505.00387).
  
      t = sigmoid(Wy + b)
      z = t * g(Wy + b) + (1 - t) * y
      where g is nonlinearity, t is transform gate, and (1 - t) is carry gate.
      """
      output = input_
      for idx in range(layer_size):
          output = f(tf.nn.rnn_cell._linear(output, size, 0, scope='output_lin_%d' % idx)) #tf.contrib.layers.linear instad doesn't work either.
          transform_gate = tf.sigmoid(tf.nn.rnn_cell._linear(input_, size, 0, scope='transform_lin_%d' % idx) + bias)
          carry_gate = 1. - transform_gate
  
          output = transform_gate * output + carry_gate * input_
  
      return output
  </code></pre>
  
  <p>the <code>tf.nn.rnn_cell._linear</code> function doesn't appear to be there anymore in Tensorflow 1.0 or 0.12, and I have no clue what to replace it with. I can't find any new implementations of this, or any information on tensorflow's github or (unfortunately very sparse) documentation.</p>
  
  <p>Does anybody know the new pendant of the function?
  Thanks a lot in advance!</p>