code: def apply(self, axis, f):
      if self.static[axis] is not None:
          try:
              st = f(self.static[axis])
              self.static[axis] = st
              self.dynamic[axis] = StaticLazyAxis(st)
              return
          except TypeError:
              pass
      self.static[axis] = None
      dyn = self.dynamic[axis]
      self.dynamic[axis] = lambda: f(dyn())
  
file_path: tensorpack/tensorpack/models/shape_utils.py
imports: import tensorflow
label_desc: Use image node_id 2 for calling the StaticDynamicShape obj's underlying member method code with example usage: obj.apply(axis, f) without return types