Update OpenVINO install for Python 3.13 and add workaround

Switches HW-accelerated machine-learning setup to use Python 3.13 and updates related paths. Adds a workaround for onnxruntime-openvino 1.23.x crash by setting MACHINE_LEARNING_OPENVINO_NUM_THREADS to nproc, referencing Immich PR #11240.
This commit is contained in:
CanbiZ (MickLesk) 2026-01-29 09:13:11 +01:00
parent 36eaaea69b
commit 45f1e73ae9

View File

@ -347,9 +347,8 @@ mkdir -p "$ML_DIR" && chown -R immich:immich "$INSTALL_DIR"
export VIRTUAL_ENV="${ML_DIR}/ml-venv" export VIRTUAL_ENV="${ML_DIR}/ml-venv"
if [[ -f ~/.openvino ]]; then if [[ -f ~/.openvino ]]; then
msg_info "Installing HW-accelerated machine-learning" msg_info "Installing HW-accelerated machine-learning"
$STD uv add --no-sync --optional openvino onnxruntime-openvino==1.20.0 --active -n -p python3.12 --managed-python $STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra openvino --no-dev --active --link-mode copy -n -p python3.13 --managed-python
$STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra openvino --no-dev --active --link-mode copy -n -p python3.12 --managed-python patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.13/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-313-x86_64-linux-gnu.so"
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.12/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-312-x86_64-linux-gnu.so"
msg_ok "Installed HW-accelerated machine-learning" msg_ok "Installed HW-accelerated machine-learning"
else else
msg_info "Installing machine-learning" msg_info "Installing machine-learning"
@ -405,9 +404,10 @@ DB_VECTOR_EXTENSION=vectorchord
REDIS_HOSTNAME=127.0.0.1 REDIS_HOSTNAME=127.0.0.1
IMMICH_MACHINE_LEARNING_URL=http://127.0.0.1:3003 IMMICH_MACHINE_LEARNING_URL=http://127.0.0.1:3003
MACHINE_LEARNING_CACHE_FOLDER=${INSTALL_DIR}/cache MACHINE_LEARNING_CACHE_FOLDER=${INSTALL_DIR}/cache
## - For OpenVINO only - uncomment below to increase ## - For OpenVINO only - workaround for onnxruntime-openvino 1.23.x crash
## - inference speed while reducing accuracy ## - See: https://github.com/immich-app/immich/pull/11240
## - Default is FP32 MACHINE_LEARNING_OPENVINO_NUM_THREADS=$(nproc)
## - Uncomment below to increase inference speed while reducing accuracy
# MACHINE_LEARNING_OPENVINO_PRECISION=FP16 # MACHINE_LEARNING_OPENVINO_PRECISION=FP16
IMMICH_MEDIA_LOCATION=${UPLOAD_DIR} IMMICH_MEDIA_LOCATION=${UPLOAD_DIR}