code: def __init__(
      self,
      in_channels: int,
      heads_ratio: float = 1.0,
      dim=32,
      expand_ratio: float = 4,
      norm="bn2d",
      act_func="hswish",
  ):
      super().__init__()
      self.context_module = ResidualBlock(
          LiteMLA(
              in_channels=in_channels,
              out_channels=in_channels,
              heads_ratio=heads_ratio,
              dim=dim,
              norm=(None, norm),
          ),
          IdentityLayer(),
      )
      local_module = MBConv(
          in_channels=in_channels,
          out_channels=in_channels,
          expand_ratio=expand_ratio,
          use_bias=(True, True, False),
          norm=(None, None, norm),
          act_func=(act_func, act_func, None),
      )
      self.local_module = ResidualBlock(local_module, IdentityLayer())
  
imports: from __future__ import annotations
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.cuda.amp import autocast
  from kornia.contrib.models.efficient_vit.nn.act import build_act
  from kornia.contrib.models.efficient_vit.nn.norm import build_norm
  from kornia.contrib.models.efficient_vit.utils import get_same_padding, val2tuple
label_desc: Use image node_id 1 to create a new EfficientViTBlock object from inherited base classes: nn with example: obj = EfficientViTBlock(in_channels, heads_ratio, dim, expand_ratio, norm, act_func)