`save_images_to_db=false` not working
Describe the bug
I'm testing CompreFace with the provided Docker Compose distribution in the root directory and looks like the save_images_to_db=false option does not work.
The trained faces are still saved to Postgres img table.
Tested with v0.6.1 tag and the latest master.
Based on docker inspect the related configuration option passed correctly to compreface-api.
"Config": {
"Hostname": "6a220ba41a7d",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"POSTGRES_PASSWORD=postgres",
"POSTGRES_URL=jdbc:postgresql://compreface-postgres-db:5432/frs",
"SPRING_PROFILES_ACTIVE=dev",
"API_JAVA_OPTS=-Xmx4g",
"SAVE_IMAGES_TO_DB=false",
"POSTGRES_USER=postgres",
"PATH=/usr/local/openjdk-11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"JAVA_HOME=/usr/local/openjdk-11",
"JAVA_VERSION=11.0.8"
],
"Cmd": null,
"Image": "exadel/compreface-api:0.6.1",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"sh",
"-c",
"java $API_JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar /home/app.jar"
],
"OnBuild": null,
"Labels": {
"com.docker.compose.config-hash": "b84a70e10ecbe10ad754be77aafdba54fa7a8333dc3ac491f37311ac181f1859",
"com.docker.compose.container-number": "1",
"com.docker.compose.depends_on": "compreface-postgres-db",
"com.docker.compose.image": "sha256:fc2d4ce7b40cc72fa875f8f35dcec35e4e2fa8979e791fea1f69ca40b855d9ba",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "compreface",
"com.docker.compose.project.config_files": "/home/ncsibra/dev/tmp/CompreFace/docker-compose.yml",
"com.docker.compose.project.working_dir": "/home/ncsibra/dev/tmp/CompreFace",
"com.docker.compose.service": "compreface-api",
"com.docker.compose.version": "2.2.3",
"desktop.docker.io/wsl-distro": "Arch"
}
},Here's the original implementation: https://github.com/exadel-inc/CompreFace/pull/163/files#diff-d829967df73c63987fa6772e8f2e0e9b9374ad3df661a20e3931094b1726253fR80 Quickly searching through the code, I can't see the relevant logic in the current codebase, but I'm not a big Java guy. :)
To Reproduce Steps to reproduce the behavior:
- In the root directory
.envfile setsave_images_to_db=false - Run docker compose
- Train a new example to a subject
- Check the database
imgtable, a new entry will be added and the size of the data in thecontentcolumn is the same as the uploaded image size
Expected behavior
Do not save the image to the database when save_images_to_db=false
Source: exadel-inc/CompreFace