code: def __call__(self, x: Tensor):
      return x + x.sequential(
          [
              self.dwconv,
              lambda x: x.permute(0, 2, 3, 1),
              self.norm,
              self.pwconv1,
              Tensor.gelu,
              self.pwconv2,
              lambda x: (self.gamma * x).permute(0, 3, 1, 2),
          ]
      )
  
file_path: tinygrad/extra/models/convnext.py
imports: from tinygrad.tensor import Tensor
  from tinygrad.nn import Conv2d, LayerNorm, LayerNorm2d, Linear
  from tinygrad.helpers import fetch, get_child
label_desc: Use image node_id 2 for calling the Block obj's underlying member method code with example usage: obj.__call__(x) and returns: unknown