code: def _download_and_extract_features(self, data_folder):
      # Visual Dialog features will contain val and test
      self._download_and_extract(
          "features_url",
          VISUAL_DIALOG_CONSTS["features_url"]["visual_dialog"],
          data_folder,
      )
      # But since train is same as COCO, we reuse those features if already downloaded
      self._download_and_extract(
          "features_url",
          VISUAL_DIALOG_CONSTS["features_url"]["coco"],
          data_folder,
      )
  
file_path: mmf/mmf/datasets/builders/visual_dialog/builder.py
imports: import logging
  import os
  import shutil
  from mmf.common.constants import VISUAL_DIALOG_CONSTS
  from mmf.common.registry import registry
  from mmf.datasets.builders.visual_dialog.dataset import VisualDialogDataset
  from mmf.datasets.builders.visual_genome.builder import VisualGenomeBuilder
  from mmf.utils.download import decompress, download
  from mmf.utils.general import get_mmf_root
label_desc: Use image node_id 5 for calling the VisualDialogBuilder obj's underlying member method code with example usage: obj._download_and_extract_features(data_folder) without return types