code: def _make_layer(
      self, block_type, inplanes, planes, block_types, stride=1
  ):
      downsample = None
      if stride != 1 or inplanes != planes * block_type.expansion:
          downsample = nn.Sequential(
              nn.Conv2d(
                  inplanes,
                  planes * block_type.expansion,
                  kernel_size=1,
                  stride=stride,
                  bias=False,
              ),
              nn.BatchNorm2d(
                  planes * block_type.expansion, momentum=_BN_MOMENTUM
              ),
          )
  
      layers = [block_type(inplanes, planes, stride, downsample)]
      inplanes = planes * block_type.expansion
      for i in range(1, block_types):
          layers.append(block_type(inplanes, planes))
  
      return nn.Sequential(*layers)
  
imports: import logging
  from typing import List
  import torch
  import torch.nn
  import torch.nn.functional
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import create_classifier
  from ._builder import build_model_with_cfg, pretrained_cfg_for_features
  from ._features import FeatureInfo
  from ._registry import register_model, generate_default_cfgs
  from .resnet import BasicBlock, Bottleneck
label_desc: Use image node_id 4 for calling the HighResolutionNet obj's underlying member method code with example usage: obj._make_layer(block_type, inplanes, planes, block_types, stride) and returns: nn