Loading .editorconfig +3 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ insert_final_newline = unset end_of_line = unset trim_trailing_whitespace = unset [*.json] insert_final_newline = unset [*.lock] indent_size = unset Loading pkgs/by-name/fr/frigate/ai-edge-litert.patch 0 → 100644 +64 −0 Original line number Diff line number Diff line diff --git a/frigate/data_processing/real_time/bird.py b/frigate/data_processing/real_time/bird.py index d547f2dd..402876b7 100644 --- a/frigate/data_processing/real_time/bird.py +++ b/frigate/data_processing/real_time/bird.py @@ -21,7 +21,7 @@ from .api import RealTimeProcessorApi try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/cpu_tfl.py b/frigate/detectors/plugins/cpu_tfl.py index 8a54363e..68ae558b 100644 --- a/frigate/detectors/plugins/cpu_tfl.py +++ b/frigate/detectors/plugins/cpu_tfl.py @@ -10,7 +10,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/edgetpu_tfl.py b/frigate/detectors/plugins/edgetpu_tfl.py index 246d2dd4..e855bf87 100644 --- a/frigate/detectors/plugins/edgetpu_tfl.py +++ b/frigate/detectors/plugins/edgetpu_tfl.py @@ -11,7 +11,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig try: from tflite_runtime.interpreter import Interpreter, load_delegate except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter, load_delegate + from ai_edge_litert.interpreter import Interpreter, load_delegate logger = logging.getLogger(__name__) diff --git a/frigate/embeddings/onnx/face_embedding.py b/frigate/embeddings/onnx/face_embedding.py index eb04b43b..0c6c26fc 100644 --- a/frigate/embeddings/onnx/face_embedding.py +++ b/frigate/embeddings/onnx/face_embedding.py @@ -14,7 +14,7 @@ from .runner import ONNXModelRunner try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/events/audio.py b/frigate/events/audio.py index f2a217fd..82206b5a 100644 --- a/frigate/events/audio.py +++ b/frigate/events/audio.py @@ -36,7 +36,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter pkgs/by-name/fr/frigate/package.nix +2 −6 Original line number Diff line number Diff line Loading @@ -38,11 +38,6 @@ let hash = "sha256-95xtUzzIxxvDtpHX/5uCHnTQTB8Fc08DZGUOR/SdKLs="; }; }); onnxruntime = super.onnxruntime.override (old: { onnxruntime = old.onnxruntime.override (old: { withFullProtobuf = true; }); }); }; }; python3Packages = python.pkgs; Loading Loading @@ -89,6 +84,7 @@ python3Packages.buildPythonApplication rec { hash = "sha256-1+n0n0yCtjfAHkXzsZdIF0iCVdPGmsG7l8/VTqBVEjU="; }) ./ffmpeg.patch ./ai-edge-litert.patch ]; postPatch = '' Loading Loading @@ -132,6 +128,7 @@ python3Packages.buildPythonApplication rec { # docker/main/requirements.txt scikit-build # docker/main/requirements-wheel.txt ai-edge-litert aiofiles aiohttp appdirs Loading Loading @@ -180,7 +177,6 @@ python3Packages.buildPythonApplication rec { slowapi starlette starlette-context tensorflow-bin titlecase transformers tzlocal Loading pkgs/development/python-modules/ai-edge-litert/default.nix 0 → 100644 +87 −0 Original line number Diff line number Diff line { autoPatchelfHook, buildPythonPackage, fetchurl, lib, python, pythonAtLeast, stdenv, # dependencies backports-strenum, flatbuffers, numpy, protobuf, tqdm, typing-extensions, # optional-dependencies lark, ml-dtypes, }: let release = builtins.fromJSON (builtins.readFile ./release.json); platforms = release.src; platform = platforms.${stdenv.hostPlatform.system} or (throw "ai-edge-litert: unsupported platform (${stdenv.hostPlatform.system})"); pythonMajorMinor = lib.versions.majorMinor python.version; source = platform.${pythonMajorMinor} or (throw "ai-edge-litert: unsupported python version (${pythonMajorMinor})"); in buildPythonPackage { pname = "ai-edge-litert"; version = release.version; format = "wheel"; src = fetchurl { inherit (source) url hash ; }; nativeBuildInputs = [ autoPatchelfHook ]; dependencies = [ backports-strenum flatbuffers numpy protobuf tqdm typing-extensions ]; optional-dependencies = { model-utils = [ lark ml-dtypes # TODO :xdsl ]; # TODO: npu-sdk }; pythonRemoveDeps = lib.optionals (pythonAtLeast "3.12") [ # https://github.com/google-ai-edge/LiteRT/pull/5298 "backports.strenum" ]; pythonImportsCheck = [ "ai_edge_litert" "ai_edge_litert.interpreter" ]; passthru.updateScript = ./update.py; meta = { description = "LiteRT is for mobile and embedded devices"; downloadPage = "https://github.com/google-ai-edge/LiteRT"; homepage = "https://www.tensorflow.org/lite/"; license = lib.licenses.asl20; platforms = lib.attrNames platforms; maintainers = with lib.maintainers; [ hexa ]; }; } pkgs/development/python-modules/ai-edge-litert/release.json 0 → 100644 +49 −0 Original line number Diff line number Diff line { "version": "2.1.0", "src": { "aarch64-linux": { "3.10": { "url": "https://files.pythonhosted.org/packages/a5/7a/6ea77fe405d76dcd1a95fceccd1018293603f551bf3645a382ef1fd470eb/ai_edge_litert-2.1.0-cp310-cp310-manylinux_2_27_aarch64.whl", "hash": "sha256-eAZzWROFxGRqqCs42qLu2IvCY0bhqvvp0Nt/BJPWq1Q=" }, "3.11": { "url": "https://files.pythonhosted.org/packages/82/e7/73fff29c7a95a4f35953a027bdb174dd9ac08adbe8c2c322dee26d8f1d3f/ai_edge_litert-2.1.0-cp311-cp311-manylinux_2_27_aarch64.whl", "hash": "sha256-krJNJQf8z1aAwm5xLBViZtz2Sokt85Id1C9KfSZSdGI=" }, "3.12": { "url": "https://files.pythonhosted.org/packages/61/f6/1aeccf3034f95ec680a2e25f33582d4adf02c30b3462357511d529a2cad2/ai_edge_litert-2.1.0-cp312-cp312-manylinux_2_27_aarch64.whl", "hash": "sha256-4Gt9sF08WCT9S1biMY9oWN73GHgM2QMYYmtKqY23WDw=" }, "3.13": { "url": "https://files.pythonhosted.org/packages/9e/b2/dde0f8043eb26f237c5958e44334d62fa90496fa51438f9c5179dec72d4c/ai_edge_litert-2.1.0-cp313-cp313-manylinux_2_27_aarch64.whl", "hash": "sha256-eoB6MjbIz1ZeIxtuwzG+zjo/WhfDwl+I8+N8/oZo+NA=" }, "3.9": { "url": "https://files.pythonhosted.org/packages/30/8b/531b230a5377b2253eff8235f10e72489bc207f7e5ed6e531670495e4fd4/ai_edge_litert-2.1.0-cp39-cp39-manylinux_2_27_aarch64.whl", "hash": "sha256-qe3jwpMVGnSt+hK6yLjOh+wB3Fhuw86hIqxxRlDIQb8=" } }, "x86_64-linux": { "3.10": { "url": "https://files.pythonhosted.org/packages/20/4a/5f7848c8d21df432f44ebd36097406f66d98762295a4f11239f1d913f347/ai_edge_litert-2.1.0-cp310-cp310-manylinux_2_27_x86_64.whl", "hash": "sha256-0FSis6ZeLCtFcahO0zul2ojp0Xhy/YdTwXc/+3g1HLE=" }, "3.11": { "url": "https://files.pythonhosted.org/packages/0d/d1/032cd1300a9b40da97e9f93781b3c2c5f104c22157695a3bb5bd5531821f/ai_edge_litert-2.1.0-cp311-cp311-manylinux_2_27_x86_64.whl", "hash": "sha256-3PfXk3SrRnzsGfLtrdO+skOtF4M/jFrVm/dnEr8USbE=" }, "3.12": { "url": "https://files.pythonhosted.org/packages/bb/16/0aface4ec3554304487d6436938684023c054828b4334f114f7db303b27a/ai_edge_litert-2.1.0-cp312-cp312-manylinux_2_27_x86_64.whl", "hash": "sha256-SNfm6BuqNYHmtIkgpzq4lzAcxIqluJq9012fBt9jLUo=" }, "3.13": { "url": "https://files.pythonhosted.org/packages/96/c7/53b1f2627dbb0b307c1637e5f2cdbdc5a5f4ffecbebe75c8977d46590b6a/ai_edge_litert-2.1.0-cp313-cp313-manylinux_2_27_x86_64.whl", "hash": "sha256-QeJJDL8dJmZj1FEllzEXC4Gqpwt9/vbXGIaX5lxxLJU=" }, "3.9": { "url": "https://files.pythonhosted.org/packages/85/b7/efd39c318ae7f73bd3de247a93501f1d748e60979ecd97c794e7a4a1d671/ai_edge_litert-2.1.0-cp39-cp39-manylinux_2_27_x86_64.whl", "hash": "sha256-QicA/OOs8HK8DVjXhj7BZjHwix2t3vyHwAjebkzaMWc=" } } } } No newline at end of file Loading
.editorconfig +3 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,9 @@ insert_final_newline = unset end_of_line = unset trim_trailing_whitespace = unset [*.json] insert_final_newline = unset [*.lock] indent_size = unset Loading
pkgs/by-name/fr/frigate/ai-edge-litert.patch 0 → 100644 +64 −0 Original line number Diff line number Diff line diff --git a/frigate/data_processing/real_time/bird.py b/frigate/data_processing/real_time/bird.py index d547f2dd..402876b7 100644 --- a/frigate/data_processing/real_time/bird.py +++ b/frigate/data_processing/real_time/bird.py @@ -21,7 +21,7 @@ from .api import RealTimeProcessorApi try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/cpu_tfl.py b/frigate/detectors/plugins/cpu_tfl.py index 8a54363e..68ae558b 100644 --- a/frigate/detectors/plugins/cpu_tfl.py +++ b/frigate/detectors/plugins/cpu_tfl.py @@ -10,7 +10,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/edgetpu_tfl.py b/frigate/detectors/plugins/edgetpu_tfl.py index 246d2dd4..e855bf87 100644 --- a/frigate/detectors/plugins/edgetpu_tfl.py +++ b/frigate/detectors/plugins/edgetpu_tfl.py @@ -11,7 +11,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig try: from tflite_runtime.interpreter import Interpreter, load_delegate except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter, load_delegate + from ai_edge_litert.interpreter import Interpreter, load_delegate logger = logging.getLogger(__name__) diff --git a/frigate/embeddings/onnx/face_embedding.py b/frigate/embeddings/onnx/face_embedding.py index eb04b43b..0c6c26fc 100644 --- a/frigate/embeddings/onnx/face_embedding.py +++ b/frigate/embeddings/onnx/face_embedding.py @@ -14,7 +14,7 @@ from .runner import ONNXModelRunner try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter logger = logging.getLogger(__name__) diff --git a/frigate/events/audio.py b/frigate/events/audio.py index f2a217fd..82206b5a 100644 --- a/frigate/events/audio.py +++ b/frigate/events/audio.py @@ -36,7 +36,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter + from ai_edge_litert.interpreter import Interpreter
pkgs/by-name/fr/frigate/package.nix +2 −6 Original line number Diff line number Diff line Loading @@ -38,11 +38,6 @@ let hash = "sha256-95xtUzzIxxvDtpHX/5uCHnTQTB8Fc08DZGUOR/SdKLs="; }; }); onnxruntime = super.onnxruntime.override (old: { onnxruntime = old.onnxruntime.override (old: { withFullProtobuf = true; }); }); }; }; python3Packages = python.pkgs; Loading Loading @@ -89,6 +84,7 @@ python3Packages.buildPythonApplication rec { hash = "sha256-1+n0n0yCtjfAHkXzsZdIF0iCVdPGmsG7l8/VTqBVEjU="; }) ./ffmpeg.patch ./ai-edge-litert.patch ]; postPatch = '' Loading Loading @@ -132,6 +128,7 @@ python3Packages.buildPythonApplication rec { # docker/main/requirements.txt scikit-build # docker/main/requirements-wheel.txt ai-edge-litert aiofiles aiohttp appdirs Loading Loading @@ -180,7 +177,6 @@ python3Packages.buildPythonApplication rec { slowapi starlette starlette-context tensorflow-bin titlecase transformers tzlocal Loading
pkgs/development/python-modules/ai-edge-litert/default.nix 0 → 100644 +87 −0 Original line number Diff line number Diff line { autoPatchelfHook, buildPythonPackage, fetchurl, lib, python, pythonAtLeast, stdenv, # dependencies backports-strenum, flatbuffers, numpy, protobuf, tqdm, typing-extensions, # optional-dependencies lark, ml-dtypes, }: let release = builtins.fromJSON (builtins.readFile ./release.json); platforms = release.src; platform = platforms.${stdenv.hostPlatform.system} or (throw "ai-edge-litert: unsupported platform (${stdenv.hostPlatform.system})"); pythonMajorMinor = lib.versions.majorMinor python.version; source = platform.${pythonMajorMinor} or (throw "ai-edge-litert: unsupported python version (${pythonMajorMinor})"); in buildPythonPackage { pname = "ai-edge-litert"; version = release.version; format = "wheel"; src = fetchurl { inherit (source) url hash ; }; nativeBuildInputs = [ autoPatchelfHook ]; dependencies = [ backports-strenum flatbuffers numpy protobuf tqdm typing-extensions ]; optional-dependencies = { model-utils = [ lark ml-dtypes # TODO :xdsl ]; # TODO: npu-sdk }; pythonRemoveDeps = lib.optionals (pythonAtLeast "3.12") [ # https://github.com/google-ai-edge/LiteRT/pull/5298 "backports.strenum" ]; pythonImportsCheck = [ "ai_edge_litert" "ai_edge_litert.interpreter" ]; passthru.updateScript = ./update.py; meta = { description = "LiteRT is for mobile and embedded devices"; downloadPage = "https://github.com/google-ai-edge/LiteRT"; homepage = "https://www.tensorflow.org/lite/"; license = lib.licenses.asl20; platforms = lib.attrNames platforms; maintainers = with lib.maintainers; [ hexa ]; }; }
pkgs/development/python-modules/ai-edge-litert/release.json 0 → 100644 +49 −0 Original line number Diff line number Diff line { "version": "2.1.0", "src": { "aarch64-linux": { "3.10": { "url": "https://files.pythonhosted.org/packages/a5/7a/6ea77fe405d76dcd1a95fceccd1018293603f551bf3645a382ef1fd470eb/ai_edge_litert-2.1.0-cp310-cp310-manylinux_2_27_aarch64.whl", "hash": "sha256-eAZzWROFxGRqqCs42qLu2IvCY0bhqvvp0Nt/BJPWq1Q=" }, "3.11": { "url": "https://files.pythonhosted.org/packages/82/e7/73fff29c7a95a4f35953a027bdb174dd9ac08adbe8c2c322dee26d8f1d3f/ai_edge_litert-2.1.0-cp311-cp311-manylinux_2_27_aarch64.whl", "hash": "sha256-krJNJQf8z1aAwm5xLBViZtz2Sokt85Id1C9KfSZSdGI=" }, "3.12": { "url": "https://files.pythonhosted.org/packages/61/f6/1aeccf3034f95ec680a2e25f33582d4adf02c30b3462357511d529a2cad2/ai_edge_litert-2.1.0-cp312-cp312-manylinux_2_27_aarch64.whl", "hash": "sha256-4Gt9sF08WCT9S1biMY9oWN73GHgM2QMYYmtKqY23WDw=" }, "3.13": { "url": "https://files.pythonhosted.org/packages/9e/b2/dde0f8043eb26f237c5958e44334d62fa90496fa51438f9c5179dec72d4c/ai_edge_litert-2.1.0-cp313-cp313-manylinux_2_27_aarch64.whl", "hash": "sha256-eoB6MjbIz1ZeIxtuwzG+zjo/WhfDwl+I8+N8/oZo+NA=" }, "3.9": { "url": "https://files.pythonhosted.org/packages/30/8b/531b230a5377b2253eff8235f10e72489bc207f7e5ed6e531670495e4fd4/ai_edge_litert-2.1.0-cp39-cp39-manylinux_2_27_aarch64.whl", "hash": "sha256-qe3jwpMVGnSt+hK6yLjOh+wB3Fhuw86hIqxxRlDIQb8=" } }, "x86_64-linux": { "3.10": { "url": "https://files.pythonhosted.org/packages/20/4a/5f7848c8d21df432f44ebd36097406f66d98762295a4f11239f1d913f347/ai_edge_litert-2.1.0-cp310-cp310-manylinux_2_27_x86_64.whl", "hash": "sha256-0FSis6ZeLCtFcahO0zul2ojp0Xhy/YdTwXc/+3g1HLE=" }, "3.11": { "url": "https://files.pythonhosted.org/packages/0d/d1/032cd1300a9b40da97e9f93781b3c2c5f104c22157695a3bb5bd5531821f/ai_edge_litert-2.1.0-cp311-cp311-manylinux_2_27_x86_64.whl", "hash": "sha256-3PfXk3SrRnzsGfLtrdO+skOtF4M/jFrVm/dnEr8USbE=" }, "3.12": { "url": "https://files.pythonhosted.org/packages/bb/16/0aface4ec3554304487d6436938684023c054828b4334f114f7db303b27a/ai_edge_litert-2.1.0-cp312-cp312-manylinux_2_27_x86_64.whl", "hash": "sha256-SNfm6BuqNYHmtIkgpzq4lzAcxIqluJq9012fBt9jLUo=" }, "3.13": { "url": "https://files.pythonhosted.org/packages/96/c7/53b1f2627dbb0b307c1637e5f2cdbdc5a5f4ffecbebe75c8977d46590b6a/ai_edge_litert-2.1.0-cp313-cp313-manylinux_2_27_x86_64.whl", "hash": "sha256-QeJJDL8dJmZj1FEllzEXC4Gqpwt9/vbXGIaX5lxxLJU=" }, "3.9": { "url": "https://files.pythonhosted.org/packages/85/b7/efd39c318ae7f73bd3de247a93501f1d748e60979ecd97c794e7a4a1d671/ai_edge_litert-2.1.0-cp39-cp39-manylinux_2_27_x86_64.whl", "hash": "sha256-QicA/OOs8HK8DVjXhj7BZjHwix2t3vyHwAjebkzaMWc=" } } } } No newline at end of file