deepinsight/insightface · error · FileNotFoundError

Model file ' ' not found in downloaded repository

Error message

Model file '{model_name}' not found in downloaded repository

What it means

After snapshot_download(..., allow_file_pattern=[model_name]) returns, _download_from_modelscope expects the requested file at cache_dir/model_name; if the model repository doesn't contain a file with that exact name, FileNotFoundError is raised. It usually means a wrong model name or a repo layout mismatch.

Solutions

  1. Check the ModelScope repo file listing and use the exact filename
  2. If upstream renamed files, upgrade inspireface so _MODEL_LIST maps to current names, or pin a known-good modelscope snapshot revision
  3. As a fallback, download the file manually and place it in the models cache dir, then call get_model with re_download=False

Example fix

# before
path = resource.get_model('pikachu-v2')  # file not in repo
# after — inspect repo files, use exact name
path = resource.get_model('pikachu')
Defensive patterns

Strategy: validation

Validate before calling

valid = list(resource._MODEL_LIST.keys())
assert model_name in valid or (Path(cache_dir) / model_name).exists(), model_name

Try / catch

try:
    path = resource.get_model(name)
except FileNotFoundError as e:
    log.error('check repo file listing; names: %s', list(resource._MODEL_LIST))
    raise

Prevention

When it happens

Trigger: Calling get_model(name) with a name whose mapped file doesn't exist in the ModelScope repo — typos, renamed upstream files, or case-sensitivity mismatches between the requested filename and the repo contents.

Common situations: Upstream ModelScope repo restructured/renamed model files; user passes a model name string that isn't in the local mapping (forwarded anyway in modelscope mode); locale/case differences in filenames.

Related errors


AI-assisted analysis of deepinsight/insightface@7fadd420c2 (2026-08-28). Data as JSON: /api/errors/a465cb47e5492162. Report an issue: GitHub.

Appendix: source

Thrown at cpp-package/inspireface/python/inspireface/modules/utils/resource.py:133

            str: Path to the downloaded model file
        """
        if not MODELSCOPE_AVAILABLE:
            raise ImportError("ModelScope is not available. Please install it with: pip install modelscope")
            
        print(f"Downloading model '{model_name}' from ModelScope...")
        
        try:
            # Download specific model file from ModelScope
            cache_dir = snapshot_download(
                model_id=self.modelscope_model_id,
                cache_dir=str(self.modelscope_cache_dir),
                allow_file_pattern=[model_name]  # Only download the specific model file
            )
            
            model_file_path = Path(cache_dir) / model_name
            
            if not model_file_path.exists():
                raise FileNotFoundError(f"Model file '{model_name}' not found in downloaded repository")
                
            print(f"ModelScope download completed: {model_file_path}")
            return str(model_file_path)
            
        except Exception as e:
            raise RuntimeError(f"Failed to download model from ModelScope: {e}")

    def get_model(self, name: str, re_download: bool = False, ignore_verification: bool = False) -> str:
        """
        Get model path. Download if not exists or re_download is True.
        
        Args:
            name: Model name
            re_download: Force re-download if True
            ignore_verification: Skip model hash verification if True
            
        Returns:
            str: Full path to model file

View on GitHub (pinned to 7fadd420c2)