{"record":{"id":"51ad444e15b5a00d","repo":"blakeblackshear/frigate","slug":"self-model-type-is-currently-not-supported-for-e","errorCode":null,"errorMessage":"{self.model_type} is currently not supported for edgetpu. See the docs for more info on supported models.","messagePattern":"(.+?) is currently not supported for edgetpu\\. See the docs for more info on supported models\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"frigate/detectors/plugins/edgetpu_tfl.py","lineNumber":165,"sourceCode":"            boxes_details = self.tensor_output_details[output_boxes_index]\n            self.boxes_tensor_index = boxes_details[\"index\"]\n            self.boxes_scale, self.boxes_zero_point = boxes_details[\"quantization\"]\n\n        elif self.model_type == ModelTypeEnum.ssd:\n            logger.debug(\"Using SSD preprocessing/postprocessing\")\n\n            # SSD model indices (4 outputs: boxes, class_ids, scores, count)\n            for x in self.tensor_output_details:\n                if len(x[\"shape\"]) == 3:\n                    self.output_boxes_index = x[\"index\"]\n                elif len(x[\"shape\"]) == 1:\n                    self.output_count_index = x[\"index\"]\n\n            self.output_class_ids_index = None\n            self.output_class_scores_index = None\n\n        else:\n            raise Exception(\n                f\"{self.model_type} is currently not supported for edgetpu. See the docs for more info on supported models.\"\n            )\n\n    def _generate_anchors_and_strides(self):\n        # for decoding the bounding box DFL information into xy coordinates\n        all_anchors = []\n        all_strides = []\n        strides = (8, 16, 32)  # YOLO's small, medium, large detection heads\n\n        for stride in strides:\n            feat_h, feat_w = self.model_height // stride, self.model_width // stride\n\n            grid_y, grid_x = np.meshgrid(\n                np.arange(feat_h, dtype=np.float32),\n                np.arange(feat_w, dtype=np.float32),\n                indexing=\"ij\",\n            )\n","sourceCodeStart":147,"sourceCodeEnd":183,"githubUrl":"https://github.com/blakeblackshear/frigate/blob/ca18b8dc131ccb3e086f13a780853b775ef13426/frigate/detectors/plugins/edgetpu_tfl.py#L147-L183","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"# before creating the detector, verify model metadata type is edgetpu-supported\nfrom frigate.detectors.detector_config import ModelTypeEnum\nSUPPORTED = {ModelTypeEnum.yolox, ModelTypeEnum.yologeneric}  # per plugin docs\nassert model_info['type'] in SUPPORTED","typeGuard":null,"tryCatchPattern":"try:\n    detector = EdgeTPUDetector(config)\nexcept Exception as e:\n    if 'not supported for edgetpu' in str(e):\n        logger.error('Use a Frigate edgetpu-supported model')\n    raise","preventionTips":["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"],"tags":["edgetpu","coral","model-type","unsupported-model"],"backgroundTag":"unsupported-model-variant","analyzedSha":"ca18b8dc131ccb3e086f13a780853b775ef13426","analyzedAt":"2026-08-27T11:28:05.618Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}