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.
class_docstr_tok: ["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: Run the input projection and then the cell.
docstr_tok: ["Run","the","input","projection","and","then","the","cell","."]
code: def call(self, inputs, state):
      """Run the input projection and then the cell."""
      # Default scope: "InputProjectionWrapper"
      if self._linear is None:
          self._linear = _Linear(inputs, self._num_proj, True)
      projected = self._linear(inputs)
      if self._activation:
          projected = self._activation(projected)
      return self._cell(projected, state)
  
imports: import tensorflow.compat.v1
  import tf_slim
  from tensorflow.python.ops import gen_nn_ops
label_desc: Use image node_id 5 for calling the InputProjectionWrapper obj's underlying member method code with example usage: obj.call(inputs, state) and returns: self