class_docstr: A variable backed by a batched numpy "stack" with a cache for the top.
  
  The purpose of the cache is to make reads from and writes to the top
  of the stack cheaper than they would be otherwise.
  
  The namedtuple structure exposes the full state of the variable, and is useful
  for testing, passing through flatten/unflatten operations, and general
  symmetry with the TensorFlow backend.
class_docstr_tok: ["A","variable","backed","by","a","batched","numpy","``","stack","''","with","a","cache","for","the","top",".","The","purpose","of","the","cache","is","to","make","reads","from","and","writes","to","the","top","of","the","stack","cheaper","than","they","would","be","otherwise",".","The","namedtuple","structure","exposes","the","full","state","of","the","variable",",","and","is","useful","for","testing",",","passing","through","flatten\/unflatten","operations",",","and","general","symmetry","with","the","TensorFlow","backend","."]
docstr: Pushes each indicated batch member, making room for a new write.
  
  The new top value is the same as the old top value (this is a
  "duplicating push").
  
  Args:
    mask: Boolean array of shape `[batch_size]`. The values at `True`
      indices of `mask` are updated; the others remain.
    name: Optional name for the op.
  
  Returns:
    var: Updated variable. Does not mutate `self`.
  
  Raises:
    ValueError: If a push exceeds the maximum stack depth.
docstr_tok: ["Pushes","each","indicated","batch","member",",","making","room","for","a","new","write",".","The","new","top","value","is","the","same","as","the","old","top","value","(","this","is","a","''","duplicating","push","''",")",".","Args",":","mask",":","Boolean","array","of","shape","`","[","batch_size","]","`",".","The","values","at","`","True","`","indices","of","`","mask","`","are","updated",";","the","others","remain",".","name",":","Optional","name","for","the","op",".","Returns",":","var",":","Updated","variable",".","Does","not","mutate","`","self","`",".","Raises",":","ValueError",":","If","a","push","exceeds","the","maximum","stack","depth","."]
code: def push(self, mask, name=None):
      """Pushes each indicated batch member, making room for a new write.
  
      The new top value is the same as the old top value (this is a
      "duplicating push").
  
      Args:
        mask: Boolean array of shape `[batch_size]`. The values at `True`
          indices of `mask` are updated; the others remain.
        name: Optional name for the op.
  
      Returns:
        var: Updated variable. Does not mutate `self`.
  
      Raises:
        ValueError: If a push exceeds the maximum stack depth.
      """
      del name
      return FullNumpyVariable(
          self.current, self.stack.push(self.current, mask)
      )
  
imports: import collections
  import numpy
  from tensorflow_probability.python.experimental.auto_batching import instructions
label_desc: Use image node_id 3 for calling the FullNumpyVariable obj's underlying member method code with example usage: obj.push(mask, name) and returns: FullNumpyVariable