547 Commits

Author SHA1 Message Date
Ștefan Muraru b4f35cb43d fix(ml): Round OCR max resolution up to a multiple of 32 (#32263)
fix(ml): round ocr max resolution up to a multiple of 32
2026-10-09 11:05:02 -04:00
bo0tzz 655bfdb34f fix(ml): move logging config to code (#32220)
This lets it be applied earlier on, so the initializing [version] log
line actually works.
2026-10-08 14:41:09 +00:00
Mert 3df38fe7f2 feat(ml): ppocr v6 (#32147) 2026-10-06 09:58:20 +02:00
Mert 6f356877f5 fix(ml): incorrect outputs on alchemist and battlemage (#32110)
* add alchemist and battlemage runners

* report the opencl devices on the intel runners

* pad unaligned attention heads for openvino

* build onnxruntime-openvino against an openvino nightly

* note the onnxruntime-openvino the intel runners should test

* update the intel gpu runtime
2026-10-06 06:37:05 +00:00
Mert e89e034515 chore(ml): e2e gpu testing (#31998) 2026-10-03 17:15:09 -04:00
Mert 524cbb3167 fix(ml): upgrade to openvino 2026.4.1 (#31996) 2026-10-02 10:25:39 -04:00
renovate[bot] 2e7e50ca98 chore(deps): update machine-learning (#31868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-30 20:10:43 -04:00
Mert a3c8b359f2 fix(ml): serialize trt-rtx sessions (#31951) 2026-09-30 18:56:36 -04:00
Mert b11e400a36 fix(ml): widen empty half-precision arrays (#31950) 2026-09-30 18:56:26 -04:00
immich-push-o-matic[bot] a9d102234b chore: version v3.3.0-rc.0 2026-09-28 21:54:03 +00:00
Mert 76c239c345 feat(ml): trt-rtx (#31863)
* trt-rtx

* update dependencies
2026-09-28 21:39:14 +00:00
Mert ab159b8118 fix(ml): stricter typing and request validation (#31856) 2026-09-28 14:14:01 -04:00
Mert 23f1f87dd0 feat(ml): optimized model inference (#31750)
* add immich_model

* graph per shape

* decouple ocr from ort

* prepared graphs

* use f16 for accelerators

* preload all shapes

* warm-up pass after preload

* keep precision for fp32 graphs

* ensure padding for text recognition

* optimize postprocessing for fp16 outputs

* handle raw ctc logits

* use f16 output for rknn

* mmap token embedding

* read device metadata
2026-09-25 14:56:44 -04:00
Mert de13aab713 feat(ml): improve model loading (#31742)
* use recent mimalloc

* jit caching

* bump onnxruntime-gpu

* explicit memory release

* refactor in-memory cache

* configure hf org and revision

* refactor model load

* move orjson response

* disable direct submission for i915

* flush denormals

* update tests and lock

* disable suboptimal fusions

* respect resize_mode

* increase threads for clip text
2026-09-25 14:56:43 -04:00
renovate[bot] 202015ed95 chore(deps): update machine-learning (#29123)
* chore(deps): update machine-learning

* bump to 3.13, increase minimum to 3.12

* cleanup

* target 3.12

* fix conditional

* fix builder images

* also update prod rknn

* unused parsers

* drop gold

* bump armnn

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-09-19 02:21:57 +00:00
renovate[bot] 8ab8ce8cf7 chore(deps): update dependency onnxruntime to v1.29.0 (#31563) 2026-09-15 09:35:39 -04:00
renovate[bot] cab12ecb51 chore(deps): update dependency onnxruntime-migraphx to v1.27.1 (#31568) 2026-09-15 09:34:23 -04:00
Jason Rasmussen c0eed4902a chore: version v3.2.0 (#31441)
chore: v3.2.0
2026-09-11 11:02:34 -04:00
Wenbin 26a25f0c3a fix(ml): race when submitting to rknn execution queue (#31143) 2026-09-03 02:13:35 +00:00
Aditya Raj Singh c1a88dd9a3 fix(ml): read CLIP model configs as UTF-8 (#31075) 2026-08-27 23:04:40 -04:00
immich-push-o-matic[bot] e61312084b chore: version v3.2.0-rc.0 2026-08-27 19:43:45 +00:00
renovate[bot] 093f5c070a chore(deps): update dependency pydantic-settings to v2.14.2 [security] (#29252) 2026-08-26 10:33:23 -04:00
renovate[bot] ef72f1ec5b chore(deps): update dependency pillow to v12.3.0 [security] (#30084) 2026-08-26 10:32:47 -04:00
Mert dc688edb6f refactor(ml): direct ocr processing (#31016) 2026-08-25 23:13:47 -04:00
renovate[bot] 6acd870371 chore(deps): lock file maintenance (mise) (#30464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-25 01:50:02 -04:00
Matthew Momjian 161e15ee2f fix(deployment): Add huggingface cache directory to Dockerfile (#30357)
* Add huggingface cache directory to Dockerfile

Updated Dockerfile to include huggingface cache directory.

* Update Dockerfile environment variables and comments

Removed MPLCONFIGDIR environment variable and adjusted comments.
2026-08-08 16:48:33 +00:00
Mert 79e61c47c7 refactor(ml): remove insightface dependency (#30631)
* remove insightface dependency

* update tests
2026-08-08 12:07:30 -04:00
Matthew Momjian 1094b69946 fix(deployment): matplotlib in rootless deployments (#30328) 2026-07-28 10:57:21 -04:00
github-actions 8aa95c6747 chore: version v3.1.0 2026-07-27 18:20:33 +00:00
github-actions cd308ad930 chore: version v3.0.3 2026-07-14 21:10:19 +00:00
github-actions 443b856ac3 chore: version v3.0.2 2026-07-09 17:33:21 +00:00
renovate[bot] 628de417e9 chore(deps): lock file maintenance (mise) (#29637) 2026-07-06 14:52:48 +02:00
github-actions f77c8a4699 chore: version v3.0.1 2026-07-02 19:24:13 +00:00
github-actions 05d838b560 chore: version v3.0.0 2026-06-30 20:03:47 +00:00
github-actions ac74bca18b chore: version v3.0.0-rc.4 2026-06-27 13:14:47 +00:00
github-actions 09d4a6815f chore: version v3.0.0-rc.3 2026-06-26 16:49:02 +00:00
github-actions 38920fc4ca chore: version v3.0.0-rc.2 2026-06-18 23:20:14 +00:00
renovate[bot] 9a3071ae5c chore(deps): lock file maintenance machine-learning (mise) (#29152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-17 19:34:45 -04:00
Savely Krasovsky 8d30cfa2ce chore(ml): update intel graphics compiler and compute runtime (#29163)
chore(ml): update Intel graphics compiler and compute runtime to latest versions
2026-06-16 23:09:53 +00:00
github-actions c9aa9ba711 chore: version v3.0.0-rc.1 2026-06-16 19:50:41 +00:00
github-actions e4dbe777a0 chore: version v3.0.0-rc.0 2026-06-12 14:55:39 +00:00
renovate[bot] 563cff26bf chore(deps): update machine-learning (#28934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 14:40:20 -04:00
Savely Krasovsky a665cec920 feat(ml): update Intel graphics compiler and compute runtime (#28924)
feat(ml): update Intel graphics compiler and compute runtime to latest versions
2026-06-09 11:08:03 -04:00
winston 7f611d9031 test: fix tests when OpenVINO provider is available (#28802)
mocking `onnxruntime.get_available_providers()` to always use the CPU EP.
2026-06-03 20:52:08 -04:00
renovate[bot] 408e1180ca chore(deps): update machine-learning (#28239)
* chore(deps): update machine-learning

* fix typing

* fix deprecation log

* no control socket

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2026-06-02 16:44:50 +00:00
pneuly a838167f11 fix(ml): pass model_root_dir to OcrOptions for RapidOCR compatibility (#28610)
* fix(ml): pass model_root_dir to OcrOptions for RapidOCR compatibility

Fix a TypeError (Path(None)) when the OCR model is invoked, caused by an upstream change in RapidOCR v3.8.1 (RapidAI/RapidOCR@8ea9626).
RapidOCR now internally calls `Path(cfg.get("model_root_dir"))`. Since `model_root_dir` was missing from `OcrOptions`, it evaluated to `None` and triggered a `TypeError: argument should be a str or an os.PathLike`.
This fix adds the missing `model_root_dir` argument to prevent the error.
Ref: #28331

* fix(ml-test): update OCR tests for RapidOCR schema change

* chore(ml-test): remove unused `cache_dir` parameter from `TextRecognizer`

* Revert "chore(ml-test): remove unused `cache_dir` parameter from `TextRecognizer`"

This reverts commit 007ad7b3f2.

* fix(ml): use self.cache_dir for model_root_dir in OcrOptions
2026-05-28 22:54:04 -04:00
Fabian Wimberger 53a24783f5 fix(ml): stabilize MIGraphX inference (#28444)
* fix: stabilize ROCm MIGraphX inference

Serialize MIGraphX session runs so lazy compiles cannot overlap within a worker.

Use a fixed face-recognition batch size for MIGraphX to avoid compiling a new program for each detected face count.

* fix(ml): increase ROCm worker timeout

* fix(ml): narrow MIGraphX compile locking

* docs: format environment variables table

* docs: apply prettier to environment variables table
2026-05-26 18:41:56 +00:00
Aaron Liu 5386b62dc4 chore(ml): allow insightface 1.x (#28595)
* chore(ml): allow insightface 1.x

The new insightface 1.0 release appears to have no breaking code changes nor relevant license changes ([before](https://github.com/deepinsight/insightface/blob/2a78baec428354883e0cda39c54b555a5ed8358a/README.md), [after](https://github.com/deepinsight/insightface/blob/70f3269ea628d0658c5723976944c9de414e96f8/README.md), c.f. https://github.com/immich-app/immich/blob/fd7ddfef54cdf2b6256c4fc08bc5ff3f86176775/machine-learning/README.md), and it works on my machine.

* Update uv.lock

* please excuse my incompetence
2026-05-25 12:32:50 -04:00
bo0tzz a5a7380a26 feat: use lockfile for mise tools (#28503) 2026-05-20 11:37:33 +00:00
Mert 8c8dc9d32f chore(ml)!: remove deprecated envs (#28326)
remove deprecated envs
2026-05-09 22:40:05 +00:00