Skip to content

Immich 2.5.2 Machine Learning Broken (OpenVINO / Intel) #25830

Description

@simplicite72

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

Dear all,

I would like to report an issue that I noticed very recently (possibly less than a week ago), likely following the update to latest release of Immich (docker).

My Immich instance is configured to use Intel integrated GPU (Jasper Lake) via OpenVINO and has been working like a charm for several months flawlessly to accelerate facial recognition.

However, since recent update, facial recognition does not work anymore. I checked the log of the immich_machine_learning and I found error linked to OpenVINO.

I'm looking for other experiences and feedbacks regarding possibly similar issues.

The OS that Immich Server is running on

Debian 12

Version of Immich Server

v.2.5.2

Version of Immich Mobile App

v2.5.2

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

No response

Your docker-compose.yml content

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
     # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated 
    shm_size: '512m'
    command: ["start.sh", "immich", "--hostname", "0.0.0.0"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    ports:
      - "${IMMICH_PORT}:2283"
    devices:
      - /dev/dri:/dev/dri
    depends_on:
      - redis
      - database
    restart: always
    networks:
      - big_bear_immich_network

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:release
    shm_size: '512m'
    devices:
      - /dev/dri:/dev/dri
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: always
    networks:
      - big_bear_immich_network

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release-openvino
    extends:
     file: hwaccel.ml.yml
     service: openvino
    volumes:
      - /DATA/AppData/big-bear-immich/model-cache:/cache
    environment:
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=
      - DB_PASSWORD=
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
    restart: always
    networks:
      - big_bear_immich_network

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine
    restart: always
    networks:
      - big_bear_immich_network

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
    env_file:
      - .env
    volumes:
      - /DATA/AppData/big-bear-immich/pgdata:/var/lib/postgresql/data
    restart: always
    networks:
      - big_bear_immich_network

networks:
  big_bear_immich_network:
    name: big-bear-immich_big_bear_immich_network
    external: true

Your .env content

N/A

Reproduction steps

I just noticed that no faces were recognized on newly uploaded photos

Relevant log output

026-02-02 15:16:07.894403429 [E:onnxruntime:, inference_session.cc:2544 operator()] Exception during initialization: /onnxruntime/onnxruntime/core/providers/openvino/backends/basic_backend.cc:135 onnxruntime::openvino_ep::BasicBackend::BasicBackend(std::unique_ptr<onnx::ModelProto>&, onnxruntime::openvino_ep::SessionContext&, const onnxruntime::openvino_ep::SubGraphContext&, onnxruntime::openvino_ep::SharedContext&, onnxruntime::openvino_ep::ptr_stream_t&) /onnxruntime/onnxruntime/core/providers/openvino/ov_interface.cc:24 auto onnxruntime::openvino_ep::OvExceptionBoundary(Func&&, std::format_string<_Args ...>&&, Args&& ...) [with Func = OVCore::CompileModel(std::shared_ptr<const ov::Model>&, std::string&, ov::AnyMap&, bool, const std::string&)::<lambda()>; Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::format_string<_Args ...> = std::basic_format_string<char, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>] [OpenVINO-EP] Exception while Loading Network for graph OpenVINOExecutionProvider_OpenVINO-EP-subgraph_1_0: Exception from src/inference/src/cpp/core.cpp:109:
Exception from src/inference/src/dev/plugin.cpp:53:
Exception from src/plugins/intel_gpu/src/runtime/ocl/ocl_engine.cpp:205:
[GPU] clCreateSubBuffer, error code: -30 CL_INVALID_VALUE

Additional information

Configurations for hardware-accelerated machine learning

If using Unraid or another platform that doesn't allow multiple Compose files,

you can inline the config for a backend by copying its contents

into the immich-machine-learning service in the docker-compose.yml file.

See https://immich.app/docs/features/ml-hardware-acceleration for info on usage.

services:
armnn:
devices:
- /dev/mali0:/dev/mali0
volumes:
- /lib/firmware/mali_csffw.bin:/lib/firmware/mali_csffw.bin:ro # Mali firmware for your chipset (not always required depending on the driver)
- /usr/lib/libmali.so:/usr/lib/libmali.so:ro # Mali driver for your chipset (always required)

rknn:
security_opt:
- systempaths=unconfined
- apparmor=unconfined
devices:
- /dev/dri:/dev/dri

cpu: {}

cuda:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities:
- gpu

rocm:
group_add:
- video
devices:
- /dev/dri:/dev/dri
- /dev/kfd:/dev/kfd

openvino:
device_cgroup_rules:
- 'c 189:* rmw'
devices:
- /dev/dri:/dev/dri
volumes:
- /dev/bus/usb:/dev/bus/usb

openvino-wsl:
devices:
- /dev/dri:/dev/dri
- /dev/dxg:/dev/dxg
volumes:
- /dev/bus/usb:/dev/bus/usb
- /usr/lib/wsl:/usr/lib/wsl

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions