Mert
2b1b43a7e4
feat(ml): composable ml ( #9973 )
...
* modularize model classes
* various fixes
* expose port
* change response
* round coordinates
* simplify preload
* update server
* simplify interface
simplify
* update tests
* composable endpoint
* cleanup
fixes
remove unnecessary interface
support text input, cleanup
* ew camelcase
* update server
server fixes
fix typing
* ml fixes
update locustfile
fixes
* cleaner response
* better repo response
* update tests
formatting and typing
rename
* undo compose change
* linting
fix type
actually fix typing
* stricter typing
fix detection-only response
no need for defaultdict
* update spec file
update api
linting
* update e2e
* unnecessary dimension
* remove commented code
* remove duplicate code
* remove unused imports
* add batch dim
2024-06-07 03:09:47 +00:00
CodaBool
6a4c2e97c0
feat: add docker healthchecks to server and ml ( #9583 )
...
* add healthcheck
* format, import, IMMICH_PORT, and eslint change
* chore: clean up nodejs healthcheck
* fix ruff formating
* add healthcheck
* format, import, IMMICH_PORT, and eslint change
* chore: clean up nodejs healthcheck
* fix ruff formating
* add healthcheck to dockerfile
* poetry run ruff check --fix
* removed 2 of 3 console calls
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-05-22 16:54:29 +00:00
Jason Rasmussen
4807fc40a6
refactor!: LOG_LEVEL => IMMICH_LOG_LEVEL ( #9557 )
...
refactor: LOG_LEVEL => IMMICH_LOG_LEVEL
2024-05-17 11:44:22 -04:00
renovate[bot]
640f53fe0a
fix(deps): update dependency pillow to v10.3.0 [security] ( #8493 )
...
* fix(deps): update dependency pillow to v10.3.0 [security]
* fix typing
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-04-11 05:48:09 +00:00
Davide
e8f0f82db0
feat(ml): add cache_dir option to OpenVINO EP ( #8018 )
...
* add cache_dir option to OpenVINO EP
* update provider options test to include cache_dir
* use forward slash instead of string concatenation
* fix cache_dir placement in provider options assertion
2024-03-17 13:48:59 -04:00
Mert
3a045b33ca
chore(deps): update onnxruntime-openvino ( #7854 )
2024-03-16 00:04:45 -04:00
DawidPietrykowski
e8b001f62f
feat: preloading of machine learning models ( #7540 )
2024-03-03 19:48:56 -05:00
Mert
7e18e69c1c
fix(ml): only use openvino if a gpu is available ( #7450 )
...
use `device_type`
2024-02-27 00:45:14 -05:00
Sourav Agrawal
2a75f884d9
Fix Smart Search when using OpenVINO ( #7389 )
...
* Fix external_path loading in OpenVINO EP
* Fix ruff lint
* Wrap block in try finally
* remove static input shape code
* add unit test
* remove unused imports
* remove repeat line
* linting
* formatting
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-02-24 18:22:27 -05:00
renovate[bot]
2b8ec30767
chore(deps): update machine-learning (major) ( #6934 )
...
* chore(deps): update machine-learning
* formatting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-02-12 22:29:15 -05:00
Fynn Petersen-Frey
49c378d706
fix(ml): re-enable ARMNN integration ( #7053 )
2024-02-12 13:29:55 -05:00
Mert
0c4df216d7
feat(ml): improve test coverage ( #7041 )
...
* update e2e
* tokenizer tests
* more tests, remove unnecessary code
* fix e2e setting
* add tests for loading model
* update workflow
* fixed test
2024-02-11 17:58:56 -05:00
Mert
c9b7f4e690
chore(ml): make execution provider log info-level ( #7024 )
...
* change debug log to info
* update test
2024-02-11 06:12:11 +00:00
Mert
79d3342c3d
fix(ml): openvino not working with dynamic axes ( #6871 )
...
* convert to static
* add comment about gross code
* formatting
* fixed test
* fix typing
* cleanup
* formatting
* Revert "formatting"
This reverts commit 073965c47e
.
* Revert "cleanup"
This reverts commit bb56bd3297
.
* formatting
2024-02-03 05:35:26 +00:00
Mert
f52994e8ca
fix(ml): model paths not working ( #6705 )
...
* fix str enum string repr
* fixed typing
2024-01-28 20:54:33 +00:00
Mert
a84b6f5fb1
feat(ml): conditionally download .armnn models ( #6650 )
2024-01-28 10:31:59 -05:00
Mert
2249f7d42a
fix(ml): handle missing context_length
field ( #6695 )
...
* handle missing `context_length` field
* specify list type
2024-01-27 19:50:50 -05:00
Mert
ca28e1e7a8
fix(ml): error logging ( #6646 )
...
* fix ml error logging
* exclude certain libraries from traceback
2024-01-26 00:26:27 +00:00
Mert
95cfe22866
feat(ml)!: cuda and openvino acceleration ( #5619 )
...
* cuda and openvino ep, refactor, update dockerfile
* updated workflow
* typing fixes
* added tests
* updated ml test gh action
* updated README
* updated docker-compose
* added compute to hwaccel.yml
* updated gh matrix
updated gh matrix
updated gh matrix
updated gh matrix
updated gh matrix
give up
* remove cuda/arm64 build
* add hwaccel image tags to docker-compose
* remove unnecessary quotes
* add suffix to git tag
* fixed kwargs in base model
* armnn ld_library_path
* update pyproject.toml
* add armnn workflow
* formatting
* consolidate hwaccel files, update docker compose
* update hw transcoding docs
* add ml hwaccel docs
* update dev and prod docker-compose
* added armnn prerequisite docs
* support 3.10
* updated docker-compose comments
* formatting
* test coverage
* don't set arena extend strategy for openvino
* working openvino
* formatting
* fix dockerfile
* added type annotation
* add wsl configuration for openvino
* updated lock file
* copy python3
* comment out extends section
* fix platforms
* simplify workflow suffix tagging
* simplify aio transcoding doc
* update docs and workflow for `hwaccel.yml` change
* revert docs
2024-01-21 18:22:39 -05:00
Mert
68f52818ae
feat(server): separate face clustering job ( #5598 )
...
* separate facial clustering job
* update api
* fixed some tests
* invert clustering
* hdbscan
* update api
* remove commented code
* wip dbscan
* cleanup
removed cluster endpoint
remove commented code
* fixes
updated tests
minor fixes and formatting
fixed queuing
refinements
* scale search range based on library size
* defer non-core faces
* optimizations
removed unused query option
* assign faces individually for correctness
fixed unit tests
remove unused method
* don't select face embedding
update sql
linting
fixed ml typing
* updated job mock
* paginate people query
* select face embeddings because typeorm
* fix setting face detection concurrency
* update sql
formatting
linting
* simplify logic
remove unused imports
* more specific delete signature
* more accurate typing for face stubs
* add migration
formatting
* chore: better typing
* don't select embedding by default
remove unused import
* updated sql
* use normal try/catch
* stricter concurrency typing and enforcement
* update api
* update job concurrency panel to show disabled queues
formatting
* check jobId in queueAll
fix tests
* remove outdated comment
* better facial recognition icon
* wording
wording
formatting
* fixed tests
* fix
* formatting & sql
* try to fix sql check
* more detailed description
* update sql
* formatting
* wording
* update `minFaces` description
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-01-18 00:08:48 -05:00
Mert
e2666f0e74
fix(ml): remove unused import ( #6356 )
...
* remove unused import
* formatting
2024-01-13 00:25:26 -05:00
renovate[bot]
20be42cec0
chore(deps): update machine-learning ( #6302 )
...
* chore(deps): update machine-learning
* fix typing, use new lifespan syntax
* wrap in try / finally
* move log
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-01-13 05:00:09 +00:00
Fynn Petersen-Frey
753292956e
feat(ml): ARMNN acceleration ( #5667 )
...
* feat(ml): ARMNN acceleration for CLIP
* wrap ANN as ONNX-Session
* strict typing
* normalize ARMNN CLIP embedding
* mutex to handle concurrent execution
* make inputs contiguous
* fine-grained locking; concurrent network execution
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-01-11 18:26:46 +01:00
renovate[bot]
3edc87f684
fix(deps): update machine-learning ( #5180 )
...
* fix(deps): update machine-learning
* updated ruff command
* use isinstance
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2023-12-25 22:37:48 -05:00
Mert
092a23fd7f
feat(server,ml): remove image tagging ( #5903 )
...
* remove image tagging
* updated lock
* fixed tests, improved logging
* be nice
* fixed tests
2023-12-20 20:47:56 -05:00
Mohamed BOUSSAID
7839be3b49
Adding the new models to the whitelist ( #5736 )
2023-12-15 22:45:14 +00:00
Mert
d729c863c8
chore(ml): improve shutdown ( #5689 )
2023-12-14 13:51:24 -06:00
Mert
ddf04a7eb4
chore(ml): increase spool threshold to 64MiB ( #5176 )
2023-11-20 09:05:35 -06:00
Mert
a6af4892e3
fix(ml): better model unloading ( #3340 )
...
* restart process on inactivity
* formatting
* always update `last_called`
* load models sequentially
* renamed variable, updated docs
* formatting
* made poll env name consistent with model ttl env
2023-11-16 20:42:44 -06:00
Mert
291159e7fc
fixed tests ( #5017 )
2023-11-13 19:37:39 +00:00
Mert
935f471ccb
chore(ml): use strict mypy ( #5001 )
...
* improved typing
* improved export typing
* strict mypy & check export folder
* formatting
* add formatting checks for export folder
* re-added init call
2023-11-13 10:18:46 -06:00
Mert
328a58ac0d
feat(ml): add face models ( #4952 )
...
added models to config dropdown
fixed downloading
updated tests
use hf for face models
formatting
2023-11-11 19:04:49 -06:00
Mert
87a0ba3db3
feat(ml): export clip models to ONNX and host models on Hugging Face ( #4700 )
...
* export clip models
* export to hf
refactored export code
* export mclip, general refactoring
cleanup
* updated conda deps
* do transforms with pillow and numpy, add tokenization config to export, general refactoring
* moved conda dockerfile, re-added poetry
* minor fixes
* updated link
* updated tests
* removed `requirements.txt` from workflow
* fixed mimalloc path
* removed torchvision
* cleaner np typing
* review suggestions
* update default model name
* update test
2023-10-31 05:02:04 -05:00
Mert
d8ecefaea5
chore(ml): removed vit-b check and st warning ( #4422 )
2023-10-10 12:26:30 -05:00
Mert
258b98c262
fix(ml): load models in separate threads ( #4034 )
...
* load models in thread
* set clip mode logs to debug level
* updated tests
* made fixtures slightly less ugly
* moved responses to json file
* formatting
2023-09-09 16:02:44 +07:00
Mert
3cf0f5f11b
fix(ml): model downloading improvements ( #3988 )
...
* handle ort `NoSuchFile` error, stricter file check
* keep exception order
2023-09-06 08:48:40 +07:00
Daniele Ricci
c7d53a5006
docs: remove obsolete environment variables ( #3926 )
...
* Obsolete environment variables
* Review fixes
* Review fixes
* Review fixes
2023-09-01 18:05:45 +07:00
Mert
41461e0d5d
chore(ml): memory optimisations ( #3934 )
2023-08-31 18:30:53 -05:00
Mert
54b2779b79
chore(ml): improved logging ( #3918 )
...
* fixed `minScore` not being set correctly
* apply to init
* don't send `enabled`
* fix eslint warning
* added logger
* added logging
* refinements
* enable access log for info level
* formatting
* merged strings
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-08-30 08:22:01 +00:00
Mert
df26e12db6
fix(ml): minScore
not being set correctly ( #3916 )
...
* fixed `minScore` not being set correctly
* apply to init
* don't send `enabled`
* fix eslint warning
* better error message
2023-08-30 03:16:00 -05:00
Mert
bcc36d14a1
feat(ml)!: customizable ML settings ( #3891 )
...
* consolidated endpoints, added live configuration
* added ml settings to server
* added settings dashboard
* updated deps, fixed typos
* simplified modelconfig
updated tests
* Added ml setting accordion for admin page
updated tests
* merge `clipText` and `clipVision`
* added face distance setting
clarified setting
* add clip mode in request, dropdown for face models
* polished ml settings
updated descriptions
* update clip field on error
* removed unused import
* add description for image classification threshold
* pin safetensors for arm wheel
updated poetry lock
* moved dto
* set model type only in ml repository
* revert form-data package install
use fetch instead of axios
* added slotted description with link
updated facial recognition description
clarified effect of disabling tasks
* validation before model load
* removed unnecessary getconfig call
* added migration
* updated api
updated api
updated api
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-08-29 08:58:00 -05:00
Mert
165b91b068
feat(ml)!: switch image classification and CLIP models to ONNX ( #3809 )
2023-08-25 06:28:51 +02:00
Mert
60729a091a
make lazy loading default ( #3797 )
2023-08-20 18:24:14 -05:00
Mert
fa57853bd2
fix(ml): clear cache if bad zip file ( #3600 )
2023-08-08 12:33:13 -05:00
Mert
c73832bd9c
refactor(ml): model downloading ( #3545 )
...
* download facial recognition models
* download hf models
* simplified logic
* updated `predict` for facial recognition
* ensure download method is called
* fixed repo_id for clip
* fixed download destination
* use st's own `snapshot_download`
* conditional download
* fixed predict method
* check if loaded
* minor fixes
* updated mypy overrides
* added pytest-mock
* updated tests
* updated lock
2023-08-05 21:45:13 -05:00
Mert
848ba685eb
fix(ml): race condition when loading models ( #3207 )
...
* sync model loading, disabled model ttl by default
* disable revalidation if model unloading disabled
* moved lock
2023-07-11 12:01:21 -05:00
Mert
df1e8679d9
chore(ml): added testing and github workflow ( #2969 )
...
* added testing
* github action for python, made mypy happy
* formatted with black
* minor fixes and styling
* test model cache
* cache test dependencies
* narrowed model cache tests
* moved endpoint tests to their own class
* cleaned up fixtures
* formatting
* removed unused dep
2023-06-27 18:21:33 -05:00
Mert
47982641b2
fix(ml): clear model cache on load error ( #2951 )
...
* clear model cache on load error
* updated caught exceptions
2023-06-27 16:01:24 -05:00
Mert
4d3ce0a65e
fixed setting different clip, removed unused stubs ( #2987 )
2023-06-27 12:21:50 -05:00
Mert
a2f5674bbb
refactor(ml): modularization and styling ( #2835 )
...
* basic refactor and styling
* removed batching
* module entrypoint
* removed unused imports
* model superclass, model cache now in app state
* fixed cache dir and enforced abstract method
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-24 22:18:09 -05:00