blakeblackshear/frigate · error · Exception
{self.model_type} is currently not supported for edgetpu. Se
Error message
{self.model_type} is currently not supported for edgetpu. See the docs for more info on supported models. What it means
During EdgeTPU detector __init__, the model metadata's type is not one of the model types the edgetpu plugin knows how to decode, so it raises before ever running inference. The plugin supports specific YOLO variants (and SSD-style outputs) and inspects tensor/output layout to pick a decoder; anything else falls to the else branch.
Source
Thrown at frigate/detectors/plugins/edgetpu_tfl.py:165
boxes_details = self.tensor_output_details[output_boxes_index]
self.boxes_tensor_index = boxes_details["index"]
self.boxes_scale, self.boxes_zero_point = boxes_details["quantization"]
elif self.model_type == ModelTypeEnum.ssd:
logger.debug("Using SSD preprocessing/postprocessing")
# SSD model indices (4 outputs: boxes, class_ids, scores, count)
for x in self.tensor_output_details:
if len(x["shape"]) == 3:
self.output_boxes_index = x["index"]
elif len(x["shape"]) == 1:
self.output_count_index = x["index"]
self.output_class_ids_index = None
self.output_class_scores_index = None
else:
raise Exception(
f"{self.model_type} is currently not supported for edgetpu. See the docs for more info on supported models."
)
def _generate_anchors_and_strides(self):
# for decoding the bounding box DFL information into xy coordinates
all_anchors = []
all_strides = []
strides = (8, 16, 32) # YOLO's small, medium, large detection heads
for stride in strides:
feat_h, feat_w = self.model_height // stride, self.model_width // stride
grid_y, grid_x = np.meshgrid(
np.arange(feat_h, dtype=np.float32),
np.arange(feat_w, dtype=np.float32),
indexing="ij",
)
View on GitHub (pinned to ca18b8dc13)
Solutions
- Use one of the officially supported edgetpu models from the Frigate docs/model list
- If custom, re-export the model in a supported architecture and update model_info.json type accordingly
- Clear the model cache and re-download to eliminate stale metadata
Defensive patterns
Strategy: validation
Validate before calling
# before creating the detector, verify model metadata type is edgetpu-supported
from frigate.detectors.detector_config import ModelTypeEnum
SUPPORTED = {ModelTypeEnum.yolox, ModelTypeEnum.yologeneric} # per plugin docs
assert model_info['type'] in SUPPORTED Try / catch
try:
detector = EdgeTPUDetector(config)
except Exception as e:
if 'not supported for edgetpu' in str(e):
logger.error('Use a Frigate edgetpu-supported model')
raise Prevention
- Use models from the official Frigate edgetpu model list
- Do not feed generic tflite exports to the edgetpu detector
- Keep model cache clean when changing models
When it happens
Trigger: Creating an EdgeTPUDetector with a .tflite model whose model_type (from model_info or filename-derived metadata) is not in the supported set for edgetpu, e.g. a standard TF object detection model or a non-quantized YOLO export.
Common situations: Using a .tflite model that was not converted for edgetpu post-processing expectations; wrong model file in cache; model compiled for a different Frigate model schema version.
Related errors
- Model type "{self.detector_config.model.model_type}" is curr
- {self.memx_model_type} is currently not supported for memryx
- {self.onnx_model_type} is currently not supported for onnx.
- Model {model_path} is unsupported. Provide your own model or
AI-assisted analysis of blakeblackshear/frigate@ca18b8dc13 (2026-08-27).
Data as JSON: /api/errors/51ad444e15b5a00d.
Report an issue: GitHub.