code: def forward(self, x, mask=None, additional_features=None):
      hrnet_feats = self.compute_hrnet_feats(x, additional_features)
      if not self.ocr_on:
          return (hrnet_feats,)
  
      ocr_feats = self.conv3x3_ocr(hrnet_feats)
      mask = nn.functional.interpolate(
          mask,
          size=ocr_feats.size()[2:],
          mode="bilinear",
          align_corners=True,
      )
      context = self.ocr_gather_head(ocr_feats, mask)
      ocr_feats = self.ocr_distri_head(ocr_feats, context)
      return (ocr_feats,)
  
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 5 for calling the HighResolutionNet obj's underlying member method code with example usage: obj.forward(x, mask, additional_features) and returns: ocr_feats, hrnet_feats