class_docstr: TNT Block
      
code: def forward(self, pixel_embed, patch_embed):
      # inner
      pixel_embed = pixel_embed + self.drop_path(
          self.attn_in(self.norm_in(pixel_embed))
      )
      pixel_embed = pixel_embed + self.drop_path(
          self.mlp_in(self.norm_mlp_in(pixel_embed))
      )
      # outer
      B, N, C = patch_embed.size()
      patch_embed = torch.cat(
          [
              patch_embed[:, 0:1],
              patch_embed[:, 1:]
              + self.proj(
                  self.norm1_proj(pixel_embed).reshape(B, N - 1, -1)
              ),
          ],
          dim=1,
      )
      patch_embed = patch_embed + self.drop_path(
          self.attn_out(self.norm_out(patch_embed))
      )
      patch_embed = patch_embed + self.drop_path(
          self.mlp(self.norm_mlp(patch_embed))
      )
      return pixel_embed, patch_embed
  
imports: import math
  import torch
  import torch.nn
  from torch.utils.checkpoint import checkpoint
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import Mlp, DropPath, trunc_normal_, _assert, to_2tuple
  from ._builder import build_model_with_cfg
  from ._registry import register_model
  from .vision_transformer import resize_pos_embed
label_desc: Use image node_id 2 for calling the Block obj's underlying member method code with example usage: obj.forward(pixel_embed, patch_embed) and returns: pixel_embed,  patch_embed