#Remote Mashine Learning Settings

1 messages · Page 1 of 1 (latest)

molten spoke
#

hey there
Is remote machine learning also used for duplicate detection?
For which features is remote machine learning used?
In which order are the URLs tested from the web interface — from top to bottom or from bottom to top?

  1. I use ans Nvidia RTX 5060 TI and on my WSL this Compose file:
    cat docker-compose.yml
version: "3.9"
name: immich_remote_ml

services:
  immich-machine-learning:
    container_name: immich_machine_learning
    # WICHTIG: CUDA-Variante verwenden
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda

    # GPU in Docker Desktop/WSL2 freigeben
    # Primär (funktioniert in den meisten Setups):
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility

    # Alternative (falls Dein Compose "runtime" nicht akzeptiert):
    # Achtung: "deploy" wird lokal oft ignoriert; nur nutzen, wenn es bei Dir greift.
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - capabilities: ["gpu"]

    # API-Port nur im LAN verwenden (nicht öffentlich exponieren)
    ports:
      - "${ML_PORT:-3003}:3003"

    volumes:
      - model-cache:/cache

    restart: unless-stopped

    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  model-cache:

But my GPU is not used for Face detection, waiting 12.378 images, Active 1

Port is open (immich server)
sudo nmap -sT -Pn 192.168.178.107 -p 3003

Starting Nmap 7.80 ( https://nmap.org ) at 2025-08-22 11:57 CEST
Nmap scan report for desktop-6p79g8t (192.168.178.107)
Host is up (0.0020s latency).

PORT     STATE SERVICE
3003/tcp open  cgms

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
oblique meteorBOT
#

:wave: Hey @molten spoke,

Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich immich.

References

#

Checklist

I have...

  1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time).
  2. :ballot_box_with_check: read applicable release notes.
  3. :ballot_box_with_check: reviewed the FAQs for known issues.
  4. :ballot_box_with_check: reviewed Github for known issues.
  5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy).
  6. :ballot_box_with_check: uploaded the relevant information (see below).
  7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable

(an item can be marked as "complete" by reacting with the appropriate number)

Information

In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:

  • Your docker-compose.yml and .env files.
  • Logs from all the containers and their status (see above).
  • All the troubleshooting steps you've tried so far.
  • Any recent changes you've made to Immich or your system.
  • Details about your system (both software/OS and hardware).
  • Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h).
  • The version of the Immich server, mobile app, and other relevant pieces.
  • Any other information that you think might be relevant.

Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)

If this ticket can be closed you can use the /close command, and re-open it later if needed.

oblique meteorBOT
molten spoke
#

@errant magnet thx

errant magnet
#

I don't see any enabled hwaccel config in your compose?

#

Start with the website template and don't follow chatgpt

molten spoke
#

i was also trying this:
https://immich.app/docs/guides/remote-machine-learning/

docker compose.yml:

name: immich_remote_ml

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

volumes:
  model-cache:
#

and hwaccel.ml.yml

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

He is not using my GPU

[+] Pulling 1/1
 ✔ immich-machine-learning Pulled                                                                                                                                                      0.7s
[+] Running 1/1
 ✔ Container immich_machine_learning  Started                                                                                                                                          0.8s
immich_machine_learning  | [08/22/25 10:30:58] INFO     Starting gunicorn 23.0.0
immich_machine_learning  | [08/22/25 10:30:58] INFO     Listening at: http://[::]:3003 (8)
immich_machine_learning  | [08/22/25 10:30:58] INFO     Using worker: immich_ml.config.CustomUvicornWorker
immich_machine_learning  | [08/22/25 10:30:58] INFO     Booting worker with pid: 9
immich_machine_learning  | [08/22/25 10:31:01] INFO     Started server process [9]
immich_machine_learning  | [08/22/25 10:31:01] INFO     Waiting for application startup.
immich_machine_learning  | [08/22/25 10:31:01] INFO     Created in-memory cache with unloading after 300s
immich_machine_learning  |                              of inactivity.
immich_machine_learning  | [08/22/25 10:31:01] INFO     Initialized request thread pool with 12 threads.
immich_machine_learning  | [08/22/25 10:31:01] INFO     Application startup complete.
errant magnet
#

Are you sure

#

Or did you just expect a higher usage %?

#

Don't forget the limiting factor here is the network/storage

molten spoke
#

I didn’t see any activity in my logs.
I know it was working on an older version in the past, and I was able to see logs back then.

I also tested directly from my Immich container:

$ docker exec -it immich_server bash
root@0ae4f4a3b183:/usr/src/app# curl -sS http://192.168.178.107:3003
{"message":"Immich ML"}

So the Immich server is able to connect to my desktop PC on port 3003.

However, I still don’t see any logs.
My expected behavior is that I should see log entries inside my WSL container whenever remote machine learning is being used.

docker compose logs -f
[+] Pulling 1/1
 ✔ immich-machine-learning Pulled                                                                                                                                                      0.8s
[+] Running 1/1
 ✔ Container immich_machine_learning  Started                                                                                                                                          1.2s
immich_machine_learning  | [08/22/25 10:37:03] INFO     Starting gunicorn 23.0.0
immich_machine_learning  | [08/22/25 10:37:03] INFO     Listening at: http://[::]:3003 (8)
immich_machine_learning  | [08/22/25 10:37:03] INFO     Using worker: immich_ml.config.CustomUvicornWorker
immich_machine_learning  | [08/22/25 10:37:03] INFO     Booting worker with pid: 9
immich_machine_learning  | [08/22/25 10:37:04] INFO     Started server process [9]
immich_machine_learning  | [08/22/25 10:37:04] INFO     Waiting for application startup.
immich_machine_learning  | [08/22/25 10:37:04] INFO     Created in-memory cache with unloading after 300s
immich_machine_learning  |                              of inactivity.
immich_machine_learning  | [08/22/25 10:37:04] INFO     Initialized request thread pool with 12 threads.
immich_machine_learning  | [08/22/25 10:37:04] INFO     Application startup complete.

No actions

errant magnet
#

Try removing the internal machine learning url and see what's going on, maybe your container can't be reached?

molten spoke
#

mh, i was restarting the immich container and restart "INTELLIGENTE SUCHE"
Activ: 2 waiting: 93.667

wsl logs:

immich_machine_learning  | [08/22/25 10:47:30] INFO     Starting gunicorn 23.0.0
immich_machine_learning  | [08/22/25 10:47:30] INFO     Listening at: http://[::]:3003 (8)
immich_machine_learning  | [08/22/25 10:47:30] INFO     Using worker: immich_ml.config.CustomUvicornWorker
immich_machine_learning  | [08/22/25 10:47:30] INFO     Booting worker with pid: 9
immich_machine_learning  | [08/22/25 10:47:33] INFO     Started server process [9]
immich_machine_learning  | [08/22/25 10:47:33] INFO     Waiting for application startup.
immich_machine_learning  | [08/22/25 10:47:33] INFO     Created in-memory cache with unloading after 300s
immich_machine_learning  |                              of inactivity.
immich_machine_learning  | [08/22/25 10:47:33] INFO     Initialized request thread pool with 12 threads.
immich_machine_learning  | [08/22/25 10:47:33] INFO     Application startup complete.
immich_machine_learning  | [08/22/25 10:49:33] INFO     Loading visual model 'ViT-B-32__openai' to memory
immich_machine_learning  | [08/22/25 10:49:33] INFO     Setting execution providers to
immich_machine_learning  |                              ['CPUExecutionProvider'], in descending order of
immich_machine_learning  |                              preference

Now it looks like he is using my gpu / WSL

Im confused that my GPU is around at 1 - 10 % ussage.
My Server is using nvme and my desktop pc too. MY local connection is direct cat 7 and lowest iy my intel n100 CPU on Server side

errant magnet
#

All you need to pay attention to is the amount of requests it can parse/second

#

If going from normal to GPU-accelerated means 5/s to 50/s then that's 10x improvement

#

Don't try to 100% your GPU, it won't work