class_docstr: The conv vision transformer stem as per https://arxiv.org/abs/2106.14881.
class_docstr_tok: ["The","conv","vision","transformer","stem","as","per","https",":","\/\/arxiv.org\/abs\/2106.14881","."]
code: def __init__(self, w_in, ks, ws, ss):
      super(ViTStemConv, self).__init__()
      for i, (k, w_out, stride) in enumerate(zip(ks, ws, ss)):
          if i < len(ks) - 1:
              self.add_module(
                  f"cstem{i}_conv",
                  conv2d(w_in, w_out, 3, stride=stride),
              )
              self.add_module(f"cstem{i}_bn", norm2d(w_out))
              self.add_module(f"cstem{i}_af", activation("relu"))
          else:
              m = conv2d(w_in, w_out, k, stride=stride, bias=True)
              self.add_module("cstem_last_conv", m)
          w_in = w_out
  
imports: import math
  import numpy
  import torch
  from pycls.core.config import cfg
  from pycls.models.blocks import activation, conv2d, conv2d_cx, layernorm, layernorm_cx, linear, linear_cx, MultiheadAttention, norm2d, norm2d_cx, patchify2d, patchify2d_cx
  from torch.nn import init, Module, Parameter
label_desc: Use image node_id 1 to create a new ViTStemConv object from inherited base classes: Module with example: obj = ViTStemConv(w_in, ks, ws, ss)