class_docstr: Stem
class_docstr_tok: ["Stem"]
code: def __init__(self, in_channels, stem_hidden_dim, out_channels):
      super().__init__()
      hidden_dim = stem_hidden_dim
      self.conv = nn.Sequential(
          nn.Conv2d(
              in_channels,
              hidden_dim,
              kernel_size=7,
              stride=2,
              padding=3,
              bias=False,
          ),  # 112x112
          nn.BatchNorm2d(hidden_dim),
          nn.ReLU(inplace=True),
          nn.Conv2d(
              hidden_dim,
              hidden_dim,
              kernel_size=3,
              stride=1,
              padding=1,
              bias=False,
          ),  # 112x112
          nn.BatchNorm2d(hidden_dim),
          nn.ReLU(inplace=True),
          nn.Conv2d(
              hidden_dim,
              hidden_dim,
              kernel_size=3,
              stride=1,
              padding=1,
              bias=False,
          ),  # 112x112
          nn.BatchNorm2d(hidden_dim),
          nn.ReLU(inplace=True),
      )
      self.proj = nn.Conv2d(
          hidden_dim, out_channels, kernel_size=3, stride=2, padding=1
      )
      self.norm = nn.LayerNorm(out_channels)
  
      self.apply(init_vit_weights)
  
imports: import torch
  from torch import nn
  from timm.models.layers import DropPath
  import numpy
  from towhee.models.wave_vit.wave_vit_utils import DWT2D, IDWT2D
  from towhee.models.utils.init_vit_weights import init_vit_weights
  from towhee.models.layers.mlp import Mlp
label_desc: Use image node_id 1 to create a new Stem object from inherited base classes: nn with example: obj = Stem(in_channels, stem_hidden_dim, out_channels)