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","."]
code: def zero_state(self, batch_size, dtype):
      with tf.name_scope(
          type(self).__name__ + "ZeroState", values=[batch_size]
      ):
          return self._cell.zero_state(batch_size, dtype)
  
imports: import tensorflow.compat.v1
  import tf_slim
  from tensorflow.python.ops import gen_nn_ops
label_desc: Use image node_id 4 for calling the InputProjectionWrapper obj's underlying member method code with example usage: obj.zero_state(batch_size, dtype) and returns: self