class_docstr: Machine Comprehension API
class_docstr_tok: ["Machine","Comprehension","API"]
code: def download_model(self):
      # Validate contents of data_path folder:
      data_path = self.data_path
      download = False
      for file_name in self.file_name_dict.values():
          if not os.path.exists(os.path.join(data_path, file_name)):
              # prompt
              download = True
              print(
                  "The following required file is missing :", file_name
              )
  
      if download is True:
          if self.prompt is True:
              license_prompt(
                  "mrc_data",
                  "https://d2zs9tzlek599f.cloudfront.net/models/mrc"
                  "/mrc_data.zip",
                  self.data_dir,
              )
              license_prompt(
                  "mrc_model",
                  "https://d2zs9tzlek599f.cloudfront.net/models/mrc"
                  "/mrc_model.zip",
                  self.model_dir,
              )
          data_zipfile = os.path.join(self.data_dir, "mrc_data.zip")
          model_zipfile = os.path.join(self.model_dir, "mrc_model.zip")
          makedirs(self.data_dir, exist_ok=True)
          makedirs(self.model_dir, exist_ok=True)
          download_unlicensed_file(
              "https://d2zs9tzlek599f.cloudfront.net" "/models/mrc/",
              "mrc_data.zip",
              data_zipfile,
          )
          download_unlicensed_file(
              "https://d2zs9tzlek599f.cloudfront.net" "/models/mrc/",
              "mrc_model.zip",
              model_zipfile,
          )
          with zipfile.ZipFile(data_zipfile) as data_zip_ref:
              data_zip_ref.extractall(self.data_dir)
          with zipfile.ZipFile(model_zipfile) as model_zip_ref:
              model_zip_ref.extractall(self.model_dir)
  
imports: from __future__ import division
  from __future__ import print_function
  import os
  import re
  import zipfile
  from os import makedirs
  from random import shuffle
  import numpy
  import tensorflow
  from nlp_architect import LIBRARY_OUT
  from nlp_architect.api.abstract_api import AbstractApi
  from nlp_architect.utils.generic import license_prompt
  from nlp_architect.utils.io import download_unlicensed_file
  from .matchlstm_ansptr import MatchLSTMAnswerPointer
  from .mrc_utils import create_squad_training, max_values_squad, get_data_array_squad
label_desc: Use image node_id 2 for calling the MachineComprehensionApi obj's underlying member method code with example usage: obj.download_model() without return types