code: def _try_downloading_necessities(self, model_name):
      if self.args.model_file is None and model_name is not None:
          model_url = self.MODEL_URL[model_name]
          config_url = self.CONFIG_URL[model_name]
          self.args.model_file = model_url.split("/")[-1]
          self.args.config_file = config_url.split("/")[-1]
          if os.path.exists(self.args.model_file) and os.path.exists(
              self.args.config_file
          ):
              print(
                  f"model and config file exists in directory: {os.getcwd()}"
              )
              return
          print("Downloading model and configuration")
          download(model_url, ".", self.args.model_file)
          download(config_url, ".", self.args.config_file)
  
imports: import argparse
  import os
  import cv2
  import numpy
  import torch
  from maskrcnn_benchmark.config import cfg
  from maskrcnn_benchmark.layers import nms
  from maskrcnn_benchmark.modeling.detector import build_detection_model
  from maskrcnn_benchmark.structures.image_list import to_image_list
  from maskrcnn_benchmark.utils.model_serialization import load_state_dict
  from mmf.utils.download import download
  from PIL import Image
  from tools.scripts.features.extraction_utils import chunks, get_image_files
label_desc: Use image node_id 2 for calling the FeatureExtractor obj's underlying member method code with example usage: obj._try_downloading_necessities(model_name) without return types