immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
51.1k stars 2.7k forks source link

ML container in Docker Desktop throws errors and warnings #9911

Closed lockheed closed 4 months ago

lockheed commented 5 months ago

The bug

I successfully started immich-machine-learning container on Windows 10 with Docker Desktop and connected it to an immich server on Linux, but when I add some photos the ML container start spewing out warnings and errors: https://pastebin.com/raw/D20dxPf2

I don't know if related, but there's this bug report here: https://github.com/NVIDIA/nvidia-container-toolkit/issues/520 I doubt it's related because my Nvidia drivers are 522.xx.

The OS that Immich Server is running on

Windows 10, Nvidia drivers 552.44

Version of Immich Server

v1.105.1

Version of Immich Mobile App

v1.105

Platform with the issue

Your docker-compose.yml content

services:
  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
    extends:
       file: hwaccel.ml.yml
       service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - c:\Docker\immich-machine-learning\model-cache:/cache
    restart: always
    ports:
      - 3003:3003

Your .env content

-

Reproduction steps

1.
2.
3.
...

Relevant log output

No response

Additional information

No response

schuhbacca commented 5 months ago

According to the docs the driver version must be 535 or greater: https://immich.app/docs/features/ml-hardware-acceleration/#cuda

Please update and retry.

lockheed commented 5 months ago

My drivers are 552.44.

552.44 > 535.

schuhbacca commented 5 months ago

Sorry, misread the numbers my bad 😅

But also your first reference says 522.xx so may want to update your post

schuhbacca commented 5 months ago

Can you also post your hwaccel file? Why is your hwaccel commented out in the compose you posted above?

lockheed commented 5 months ago
services:
  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
    extends:
       file: hwaccel.ml.yml
       service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - c:\Docker\immich-machine-learning\model-cache:/cache
    restart: always
    ports:
      - 3003:3003
version: "3.8"

# 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)

  cpu: {}

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

  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
schuhbacca commented 5 months ago

Did you have this before or just updated? If just updated still the same results?

lockheed commented 5 months ago

I don't know what are you asking. I just installed it. Never had it before.

schuhbacca commented 5 months ago

I am asking, above in your original post, the hwaccel section was commented out in your compose file.

Now you posted the response, which has the hw accel section uncommented and the hwaccel file in the same directory as your compose. When you run machine learning now, what happens?

lockheed commented 5 months ago

It was always uncommented. The config with commented part I was writing from memory and I made a mistake.