diff --git a/server/detector.py b/server/detector.py index f2d5210..bd4b291 100644 --- a/server/detector.py +++ b/server/detector.py @@ -54,13 +54,18 @@ class ObjectDetector: def _load_model(self): """Load TFLite model and label map""" + # Try ai-edge-litert (modern), then tflite-runtime (legacy) try: - import tflite_runtime.interpreter as tflite + from ai_edge_litert import interpreter as tflite except ImportError: - raise ImportError( - "tflite-runtime not installed. " - "Install with: pip install tflite-runtime" - ) + try: + import tflite_runtime.interpreter as tflite + except ImportError: + raise ImportError( + "No TFLite runtime found. Install one of:\n" + " pip install ai-edge-litert (Python 3.12+)\n" + " pip install tflite-runtime (Python 3.9-3.11)" + ) if not self.model_path.exists(): raise FileNotFoundError( diff --git a/server/requirements.txt b/server/requirements.txt index 278a80b..e1b300c 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -14,4 +14,5 @@ python-dotenv>=1.0.0 httpx>=0.24.0 # Object detection (installed separately by setup.sh) -# tflite-runtime>=2.14.0 +# pip install ai-edge-litert (Python 3.12+) +# pip install tflite-runtime (Python 3.9-3.11) diff --git a/server/setup.sh b/server/setup.sh index de4446c..54a470e 100644 --- a/server/setup.sh +++ b/server/setup.sh @@ -92,7 +92,9 @@ pip install -r requirements.txt # Install TFLite runtime for object detection echo_info "Installing TFLite runtime for object detection..." -pip install tflite-runtime 2>/dev/null || echo_warn "tflite-runtime not available for this platform (object detection will be disabled)" +pip install ai-edge-litert 2>/dev/null || \ +pip install tflite-runtime 2>/dev/null || \ +echo_warn "No TFLite runtime available for this platform (object detection will be disabled)" # Generate SSL certificates if not present if [ ! -f ssl/cert.pem ]; then