code: def extract(param_path: str,
              param_names: List[str],
              list_all: bool) -> Dict[str, np.ndarray]:
      
      logger.info("Loading parameters from '%s'", param_path)
      arg_params, aux_params = utils.load_params(param_path)
  
      ext_params = {}  # type: Dict[str, np.ndarray]
      param_names = _extract(param_names, arg_params, ext_params)
      param_names = _extract(param_names, aux_params, ext_params)
  
      if len(param_names) > 0:
          logger.info("The following parameters were not found:")
          for name in param_names:
              logger.info("\t%s", name)
          logger.info("Check the following availabilities")
          list_all = True
  
      if list_all:
          if arg_params:
              logger.info("Available arg parameters:")
              for name in arg_params:
                  logger.info("\t%s: shape=%s", name, str(arg_params[name].shape))
          if aux_params:
              logger.info("Available aux parameters:")
              for name in aux_params:
                  logger.info("\t%s: shape=%s", name, str(aux_params[name].shape))
  
      return ext_params
docs: Extract specific parameters given their names.
  
      :param param_path: Path to the parameter file.
      :param param_names: Names of parameters to be extracted.
      :param list_all: List names of all available parameters.
      :return: Extracted parameter dictionary.