code: def forward(self, img):
      sm_tokens = self.sm_image_embedder(img)
      lg_tokens = self.lg_image_embedder(img)
  
      sm_tokens, lg_tokens = self.multi_scale_encoder(
          sm_tokens, lg_tokens
      )
  
      sm_cls, lg_cls = map(lambda t: t[:, 0], (sm_tokens, lg_tokens))
  
      sm_logits = self.sm_mlp_head(sm_cls)
      lg_logits = self.lg_mlp_head(lg_cls)
  
      return sm_logits + lg_logits
  
imports: 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 CrossViT obj's underlying member method code with example usage: obj.forward(img) and returns: unknown