class_docstr: Operator adding an input projection to the given cell.
  
  Note: in many cases it may be more efficient to not use this wrapper,
  but instead concatenate the whole sequence of your inputs in time,
  do the projection on this batch-concatenated sequence, then split it.
docstr: Create a cell with input projection.
  
  Args:
    cell: an RNNCell, a projection of inputs is added before it.
    num_proj: Python integer.  The dimension to project to.
    activation: (optional) an optional activation function.
    input_size: Deprecated and unused.
    reuse: (optional) Python boolean describing whether to reuse variables
      in an existing scope.  If not `True`, and the existing scope already has
      the given variables, an error is raised.
  
  Raises:
    TypeError: if cell is not an RNNCell.
docstr_tok: ["Create","a","cell","with","input","projection",".","Args",":","cell",":","an","RNNCell",",","a","projection","of","inputs","is","added","before","it",".","num_proj",":","Python","integer",".","The","dimension","to","project","to",".","activation",":","(","optional",")","an","optional","activation","function",".","input_size",":","Deprecated","and","unused",".","reuse",":","(","optional",")","Python","boolean","describing","whether","to","reuse","variables","in","an","existing","scope",".","If","not","`","True","`",",","and","the","existing","scope","already","has","the","given","variables",",","an","error","is","raised",".","Raises",":","TypeError",":","if","cell","is","not","an","RNNCell","."]
code: def __init__(
      self, cell, num_proj, activation=None, input_size=None, reuse=None
  ):
      """Create a cell with input projection.
  
      Args:
        cell: an RNNCell, a projection of inputs is added before it.
        num_proj: Python integer.  The dimension to project to.
        activation: (optional) an optional activation function.
        input_size: Deprecated and unused.
        reuse: (optional) Python boolean describing whether to reuse variables
          in an existing scope.  If not `True`, and the existing scope already has
          the given variables, an error is raised.
  
      Raises:
        TypeError: if cell is not an RNNCell.
      """
      super(InputProjectionWrapper, self).__init__(_reuse=reuse)
      if input_size is not None:
          logging.warn(
              "%s: The input_size parameter is deprecated.", self
          )
      rnn_cell_impl.assert_like_rnncell("cell", cell)
      self._cell = cell
      self._num_proj = num_proj
      self._activation = activation
      self._linear = None
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import embedding_ops
  from tensorflow.python.ops import init_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import rnn_cell_impl
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.util import nest
label_desc: Use image node_id 1 to create a new InputProjectionWrapper object from inherited base classes: RNNCell with example: obj = InputProjectionWrapper(cell, num_proj, activation, input_size, reuse)