class_docstr: A tuple of `InfDim`s.
  
  This is intended to be attached to each parameter tensor `p` as `p.infshape`.
code: def fanin_fanout(self):
      assert (
          len(self) >= 2
      ), "fanin, fanout undefined for 1-dimensional weights"
      return self[1], self[0]
  
imports: from copy import copy
label_desc: Use image node_id 2 for calling the InfShape obj's underlying member method code with example usage: obj.fanin_fanout() and returns: self,  self