code: def __init__(
      self, in_channels, out_channels, norm_layer, pad_type=""
  ):
      super().__init__()
      self.conv = create_conv2d(
          in_channels,
          out_channels,
          kernel_size=3,
          padding=pad_type,
          bias=True,
      )
      self.norm = norm_layer(out_channels)
      self.pool = create_pool2d(
          "max", kernel_size=3, stride=2, padding=pad_type
      )
  
imports: import collections.abc
  import logging
  import math
  from functools import partial
  import torch
  import torch.nn.functional
  from torch import nn
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import PatchEmbed, Mlp, DropPath, create_classifier, trunc_normal_, _assert
  from timm.layers import create_conv2d, create_pool2d, to_ntuple, use_fused_attn, LayerNorm
  from ._builder import build_model_with_cfg
  from ._features_fx import register_notrace_function
  from ._manipulate import checkpoint_seq, named_apply
  from ._registry import register_model, generate_default_cfgs, register_model_deprecations
label_desc: Use image node_id 1 to create a new ConvPool object from inherited base classes: nn with example: obj = ConvPool(in_channels, out_channels, norm_layer, pad_type)