1. Taking to much time – almost a day for 3000 images
2. Crashing due to lines malformation in facerecognition.txt – some times face_recognition Python script concatenates two output lines in just once, what is not expected by face_recognition.lua script
3. Crashing the whole system in Linux – I keep receiving “bash: fork: resource temporarily unavailable” trying to process a too big (starting from some hundreds) image list. Some other applications starts to crash at this point. It seems related to the attach tag call because commenting this instruction (for debugging purposes) eliminates the crashes.
After debugging the Lua script and checking Lua and SQL darktable out logs, I decided to make the following changes:
1. Remove an inner loop in the processing results step – helps preventing issue 1
2. Remove a loop in the export step – helps preventing issue 1
3. Remove duplicate tags (when there are more more than a reference face for each person) while facerecognition.txt is read – helps preventing issue 1 and 3
4. Make a sanity check with processing images, skip any malformation data – helps preventing issue 2
5. Reduces the sqlite access by caching tags that where already created for a previous image – helps preventing issue 3
Those changes allowed may thousands (more than 30K) of images to be processed in half a day instead of several days.
detected in the photos
2. Check if the tags to applied are non empty and skip otherwise. It
applies to empty entries in the GUI ("unknown person tag" and "no
persons found"), when the user types something and then deletes it
3. Change the string "togs of images to ignore" to "tags of images to
ignore"
When locales use comma for numeric decimal separator, tolerance argument is not passed correctly.
I propose to switch temporally to "C" locales before converting float tolerance to string to get a period decimal separator.
1) mod changed to MOD
2) autogroup changed to autogrouper
3) prints "please select at least 2 images" if user attempts to run with fewer than 2 images selected
4) change visible module name to "auto group" (lower case)
5) changed soft max on slider to 60s
- I also increase the hard max up to a full day, I saw no reason not to
Made text translatable except for line 499 which kept giving me problems
Making L499 translatable would throw the following error lua:499: attempt to call a nil value (upvalue '_')
Troubleshooting steps taken and results:
1) Changed the translation function from _() to translate() - this worked, no errors but ugly
2) Reverted the changes from 1, then changed all "for _, var in table do" to be "for ignore, var in table do" - this did not help
Moved a chunk of code due to anomalous behavior, I suspect previous code was attempting to change the value in the stack widget before it was fully created. Adding in a print statement before trying to change the stack.active would cause things to work fine. Moving it behind the register call also helped.