blakeblackshear/frigate · error · Exception
Model {model_path} is unsupported. Provide your own model or
Error message
Model {model_path} is unsupported. Provide your own model or choose one of the following: {supported_models_str} What it means
The configured model_path for the Axengine detector is neither a known built-in model filename (which would be resolved/downloaded from the model cache) nor a path the plugin recognizes, so parse_model_input refuses it. Only a fixed set of prebuilt models plus user-supplied .axmodel files on disk are supported.
Source
Thrown at frigate/detectors/plugins/axengine.py:74
model_props = {}
model_props["preset"] = True
model_matched = False
for model_type, pattern in supported_models.items():
if re.match(pattern, model_path):
model_matched = True
model_props["model_type"] = model_type
if model_matched:
model_props["filename"] = model_path + ".axmodel"
model_props["path"] = model_cache_dir + model_props["filename"]
if not os.path.isfile(model_props["path"]):
self.download_model(model_props["filename"])
else:
supported_models_str = ", ".join(model[1:-1] for model in supported_models)
raise Exception(
f"Model {model_path} is unsupported. Provide your own model or choose one of the following: {supported_models_str}"
)
return model_props
def download_model(self, filename):
if not os.path.isdir(model_cache_dir):
os.mkdir(model_cache_dir)
HF_ENDPOINT = os.environ.get("HF_ENDPOINT", "https://huggingface.co")
urllib.request.urlretrieve(
f"{HF_ENDPOINT}/AXERA-TECH/frigate-resource/resolve/axmodel/{filename}",
model_cache_dir + filename,
)
def detect_raw(self, tensor_input):
results = None
results = self.session.run(None, {"images": tensor_input})
if self.detector_config.model.model_type == ModelTypeEnum.yologeneric:View on GitHub (pinned to ca18b8dc13)
Solutions
- Check the error's supported model list and use one of those exact filenames in model.path
- Or provide your own compiled .axmodel file path on disk accessible to the container
- Verify the path/filename spelling and that the file is mounted into the container
Example fix
# before
detectors:
axengine:
type: axengine
model:
path: yolov9-tiny-wrong-name
# after
detectors:
axengine:
type: axengine
model:
path: /models/my_model.axmodel # or a listed supported model Defensive patterns
Strategy: validation
Validate before calling
# validate before startup against the plugin's supported list
SUPPORTED = {...} # from error message or plugin source
assert model_path in SUPPORTED or os.path.isfile(model_path), f'use one of {SUPPORTED}' Try / catch
try:
detector = AxengineDetector(config)
except Exception as e:
if 'unsupported' in str(e):
logger.error('Switch model.path to a listed model or a local .axmodel')
raise Prevention
- Copy the exact supported model names from the plugin error/docs
- Mount custom .axmodel files into the container and reference by full path
- Validate config in CI against the supported model list
When it happens
Trigger: Calling parse_model_input (from Axengine detector __init__) with model_path set to a name not in the plugin's supported_models mapping and not an existing custom model file, e.g. a typo like 'yolov9-tiny-axera' or a filename without the expected suffix.
Common situations: Typo in model.path in frigate config; referencing a model that exists for other detectors (e.g. a .tflite name) with the axengine detector; assuming a new model variant is bundled when it is not.
Related errors
- Model type "{self.detector_config.model.model_type}" is curr
- Model does not support detector type of {detector}
- AXEngine is not installed.
- {self.model_type} is currently not supported for edgetpu. Se
- Model file not found at: {self.model_path}
AI-assisted analysis of blakeblackshear/frigate@ca18b8dc13 (2026-08-27).
Data as JSON: /api/errors/8f3f934edfb5e9fa.
Report an issue: GitHub.