class_docstr: Implements the Numpy backend ops for a PC auto-batching VM.
class_docstr_tok: ["Implements","the","Numpy","backend","ops","for","a","PC","auto-batching","VM","."]
docstr: Merges two shapes, returning a broadcasted shape.
  
  Args:
    s1: A `list` of Python `int` or None.
    s2: A `list` of Python `int` or None.
  
  Returns:
    shape: A `list` of Python `int` or None.
  
  Raises:
    ValueError: If `s1` and `s2` are not broadcast compatible.
docstr_tok: ["Merges","two","shapes",",","returning","a","broadcasted","shape",".","Args",":","s1",":","A","`","list","`","of","Python","`","int","`","or","None",".","s2",":","A","`","list","`","of","Python","`","int","`","or","None",".","Returns",":","shape",":","A","`","list","`","of","Python","`","int","`","or","None",".","Raises",":","ValueError",":","If","`","s1","`","and","`","s2","`","are","not","broadcast","compatible","."]
code: def merge_shapes(self, s1, s2):
      """Merges two shapes, returning a broadcasted shape.
  
      Args:
        s1: A `list` of Python `int` or None.
        s2: A `list` of Python `int` or None.
  
      Returns:
        shape: A `list` of Python `int` or None.
  
      Raises:
        ValueError: If `s1` and `s2` are not broadcast compatible.
      """
      return (np.zeros(s1) + np.zeros(s2)).shape
  
imports: import collections
  import numpy
  from tensorflow_probability.python.experimental.auto_batching import instructions
label_desc: Use image node_id 5 for calling the NumpyBackend obj's underlying member method code with example usage: obj.merge_shapes(s1, s2) and returns: unknown