code: def _check_branches(
      self, num_branches, num_blocks, num_inchannels, num_channels
  ):
      if num_branches != len(num_blocks):
          error_msg = "NUM_BRANCHES({}) <> NUM_BLOCKS({})".format(
              num_branches, len(num_blocks)
          )
          raise ValueError(error_msg)
  
      if num_branches != len(num_channels):
          error_msg = "NUM_BRANCHES({}) <> NUM_CHANNELS({})".format(
              num_branches, len(num_channels)
          )
          raise ValueError(error_msg)
  
      if num_branches != len(num_inchannels):
          error_msg = "NUM_BRANCHES({}) <> NUM_INCHANNELS({})".format(
              num_branches, len(num_inchannels)
          )
          raise ValueError(error_msg)
  
imports: import os
  import torch
  import torch._utils
  import numpy
  import torch.nn
  import torch.nn.functional
  from cftool.misc import print_info
  from .ocr import SpatialOCR_Module
  from .ocr import SpatialGather_Module
  from .resnetv1b import BottleneckV1b
  from .resnetv1b import BasicBlockV1b
label_desc: Use image node_id 2 for calling the HighResolutionModule obj's underlying member method code with example usage: obj._check_branches(num_branches, num_blocks, num_inchannels, num_channels) without return types