code: def forward(self, x, fmap_dims):
      cls_token, x = x[:, :1], x[:, 1:]
      x = rearrange(x, "b (h w) d -> b d h w", **fmap_dims)
      x = self.conv(x)
      x = rearrange(x, "b d h w -> b (h w) d")
      cls_token = self.cls_proj(cls_token)
      return torch.cat((cls_token, x), dim=1)
  
imports: from math import sqrt, pi, log
  import torch
  from torch import nn, einsum
  import torch.nn.functional
  from einops import rearrange, repeat
  from einops.layers.torch import Rearrange
label_desc: Use image node_id 2 for calling the SpatialConv obj's underlying member method code with example usage: obj.forward(x, fmap_dims) and returns: torch