No face detection when using CPU only?
Hello everyone!
I've read several posts about face detection not working because the immich_machine_learning was erroneously configured for CPU usage.
In my case tho, I really don't have a GPU, as I'm running on an old i3 2100 cpu with no receint iGPU or external GPU.
When the face recognition job runs, it completes after a while with no errors, but no face is detected at all.
If I make the job run again for missing faces, all photos get re-scanned, but no face found
And I find nothing in the immich_machine_leartning log!
I did not touch neither the env nor the docker-compose file: ye're configured as per downloaded container.
Running immich ver v1.125.1 just updated to v.1.125.5 (latest at the time of writing), now re-running the face detection job as suggested
Any idea? Thanks!
10 Replies
:wave: Hey @ilgrank,
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
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJAChecklist
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.GitHub
immich-app immich · Discussions
Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.
FAQ | Immich
User
GitHub
Issues · immich-app/immich
High performance self-hosted photo and video management solution. - Issues · immich-app/immich
It'll always work on cpu. If gpu is configured and the GPU method fails it falls back to using CPU.
What's your job concurrency? If high everything might(?) be timing out if using old hardware.
Either way your logs should show you what's going on
You need to share your logs, docker compose, env, really everything the bot asked for
Also, update to the latest immich version. No reason to be using an old minor version
I set to 2 concurrent, but I get no error in the log. I'll try to reduce to 1
It'll post them shortly, but since I did not edit them at all, they're as released
docker-compose.yml
Also, just updated to v.1.125.5 (latest at the time of writing), now re-running the face detection job as suggested
High CPU usage of the ML container seems to suggest it is doing something, but it will take several hours to complete the job, I'll update when it finishes (I don't know If I'm supposed to find some face already in Explore at this point, but even after having processed several hundred of photos with people, I have none yet)
```
NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
immich_machine_learning 86.68% 253.5MiB / 1.928GiB 12.84% 27.9MB / 135kB 17.8GB / 1.44MB 4
immich_server 0.12% 383.9MiB / 1.928GiB 19.44% 6.35MB / 35.8MB 2.8GB / 3.01MB 24
immich_postgres 2.79% 264.4MiB / 1.928GiB 13.39% 198MB / 211MB 51.3GB / 2.18GB 31
immich_redis 0.18% 15.51MiB / 1.928GiB 0.79% 982MB / 244MB 44GB / 1.16GB 5
just noticed something interesting in the logs:
[01/28/25 01:46:32] INFO Loading recognition model 'buffalo_l' to memory
[01/28/25 01:46:32] INFO Setting execution providers to ['CPUExecutionProvider'], in descending order of preference
[01/28/25 01:46:54] ERROR Worker (pid:1049) was sent SIGKILL! Perhaps out of memory? now that's interesting of course, but docker status seems to suggest there's plenty of memory
[01/28/25 01:46:32] INFO Setting execution providers to ['CPUExecutionProvider'], in descending order of preference
[01/28/25 01:46:54] ERROR Worker (pid:1049) was sent SIGKILL! Perhaps out of memory? now that's interesting of course, but docker status seems to suggest there's plenty of memory
Whats the memory of your system?
We need at least 4GB, best to be 6GB of minimum RAM to run all the machine learning tasks
you only allocate 2GB for this VM/server
thanks @Alex : that was exactly the problem. Even tho docker stats showed less than 25% memory usage, face recognition wasn't working with just 2Gb. Upgrading to 8Gb solved the problem, and face recognition is working now!