code: def __init__(
      self,
      dim,
      dim_out=None,
      kernel_size=7,
      stride=1,
      conv_bias=True,
      expand_ratio=4,
      ls_init_value=1e-6,
      norm_layer=partial(nn.LayerNorm, eps=1e-6),
      act_layer=nn.GELU,
      drop_path=0.0,
  ):
      super().__init__()
      dim_out = dim_out or dim
      self.shortcut_after_dw = stride > 1 or dim != dim_out
  
      self.conv_dw = create_conv2d(
          dim,
          dim_out,
          kernel_size=kernel_size,
          stride=stride,
          depthwise=True,
          bias=conv_bias,
      )
      self.norm = norm_layer(dim_out)
      self.mlp = Mlp(
          dim_out, int(expand_ratio * dim_out), act_layer=act_layer
      )
      self.gamma = (
          nn.Parameter(ls_init_value * torch.ones(dim_out))
          if ls_init_value > 0
          else None
      )
      self.drop_path = (
          DropPath(drop_path) if drop_path > 0.0 else nn.Identity()
      )
  
imports: import math
  from collections import OrderedDict
  from functools import partial
  from typing import Tuple
  import torch
  import torch.nn.functional
  from torch import nn
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import trunc_normal_tf_, DropPath, LayerNorm2d, Mlp, SelectAdaptivePool2d, create_conv2d, use_fused_attn, NormMlpClassifierHead, ClassifierHead
  from ._builder import build_model_with_cfg
  from ._features_fx import register_notrace_module
  from ._manipulate import named_apply, checkpoint_seq
  from ._registry import register_model, generate_default_cfgs
label_desc: Use image node_id 1 to create a new ConvBlock object from inherited base classes: nn with example: obj = ConvBlock(dim, dim_out, kernel_size, stride, conv_bias, expand_ratio, ls_init_value, norm_layer, act_layer, drop_path)