Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EFRS-1114: Google Coral Support for FaceNet - Updated (1.2.0) #1198

Open
wants to merge 931 commits into
base: EFRS-1114
Choose a base branch
from

Conversation

bropat
Copy link

@bropat bropat commented Nov 4, 2023

No description provided.

ashutau and others added 30 commits November 7, 2022 14:05
… to remove old tokens that do not have an expiration column
…ecial_characters_from_names

EFRS-1316: Added a custom liquibase change in order to remove special characters from names
…ty_to_delete_expired_access_and_refresh_tokens

EFRS-1286: Added the ability to delete expired access and refresh tokens
@RobertLukan
Copy link

I would also be happy to test it.

@pospielov
Copy link
Collaborator

@rpetrina @osnabrugge @i1Fury @RobertLukan
Could you test those images?

Created docker builds (untested):

If you confirm that they work, I'm ready to merge this pull request to compreface repository.
I'm not sure I'll be able to merge it to master and make an official release, as this code may potentially affect existing users.
Still, I can add those images to the custom config folder, with all attribution to @bropat

@i1Fury
Copy link

i1Fury commented Dec 26, 2023

i did test them a while ago, but unfortunately couldn't figure out how to get them operational.

For anyone testing, be sure to pass the coral device through to the docker container.

@pospielov
Copy link
Collaborator

https://github.com/bropat/CompreFace/blob/EFRS-1114/custom-builds/FaceNet-tpu/docker-compose.yml
There is a docker compose configuration file in bropat repository.
I think the only thing you need to change is line 72, instead of:
image: ${registry}compreface-core:${CORE_VERSION}
it should be
image: bropat/compreface-core:1.2.0-facenet-tpu

@i1Fury
Copy link

i1Fury commented Dec 26, 2023

I did try that as well, I may have done something wrong along the way, but i remember it not loading properly. (once i opened the web panel, it wouldn't load)

@RobertLukan
Copy link

@rpetrina @osnabrugge @i1Fury @RobertLukan Could you test those images?

Created docker builds (untested):

If you confirm that they work, I'm ready to merge this pull request to compreface repository. I'm not sure I'll be able to merge it to master and make an official release, as this code may potentially affect existing users. Still, I can add those images to the custom config folder, with all attribution to @bropat

I will do it in a few days, I am on holidays right now. I will keep you posted.

@canadarob
Copy link

I believe this was designed on a coral usb. As, I at first could not get this working on coral pcie version. Yes, I of course passed /dev/apex_0 through the container. I noticed there was no Apex user group within the container. I added that and added www-data to this group. But this did not work.
At that point I went back to the basics and verified my coral device was working within the container by installing pycoral and running inference. Then I noticed there was a pytest.ini within the application itself. This succeeded

This led me back to permissions with the uswgi. Where I gave up and configured uwsgi to run as root. This was the trick and compreface started.

I have a small home lab using double take so I tested some with double take. I noticed you must run 1 process and 1 thread or those processes will timeout waiting for coral use. The sample .env file given by bropat had configured to run two processes which was not working for me. This has now been running for 4 days with no errors in my very small environment of 4 people and 10 cameras.

@NickM-27
Copy link

NickM-27 commented Jan 4, 2024

I'm trying with USB coral and compreface won't start, the reason why is not clear. Here are the logs

2024-01-04 16:30:06,510 INFO supervisord started with pid 1
2024-01-04 16:30:07,513 INFO spawned: 'startup' with pid 7
2024-01-04 16:30:07,514 INFO spawned: 'compreface-core' with pid 8
2024-01-04 16:30:07,515 INFO success: startup entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-04 16:30:07,515 INFO success: compreface-core entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-04 16:30:07,516 INFO exited: startup (exit status 127; not expected)
2024-01-04 16:38:53,475 WARN received SIGTERM indicating exit request
2024-01-04 16:38:53,475 INFO waiting for compreface-core to die
2024-01-04 16:38:56,498 INFO stopped: compreface-core (exit status 0)
2024-01-04 16:48:39,686 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2024-01-04 16:48:39,686 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2024-01-04 16:48:39,688 INFO RPC interface 'supervisor' initialized
2024-01-04 16:48:39,688 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2024-01-04 16:48:39,688 INFO supervisord started with pid 1
2024-01-04 16:48:40,690 INFO spawned: 'startup' with pid 7
2024-01-04 16:48:40,692 INFO spawned: 'compreface-core' with pid 8
2024-01-04 16:48:40,692 INFO success: startup entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-04 16:48:40,692 INFO success: compreface-core entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-04 16:48:40,692 INFO exited: startup (exit status 127; not expected)
{"severity": "INFO", "message": "{'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True}", "request": null, "logger": "src.app", "module": "app", "traceback": null, "build_version": "dev"}
{"severity": "DEBUG", "message": "Creating new app for WSGI", "request": null, "logger": "src.app", "module": "app", "traceback": null, "build_version": "dev"}
WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0x55b8c9795380 pid: 8 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 8)
spawned uWSGI worker 1 (pid: 40, cores: 1)

and here is the docker command

docker run
  -d
  --name='CompreFace'
  --net='bridge'
  --privileged=true
  -e TZ="America/Denver"
  -e 'EXTERNAL_DB'='true'
  -e 'POSTGRES_URL'='jdbc:postgresql://192.168.50.106:5432/compreface'
  -e 'POSTGRES_USER'='***'
  -e 'POSTGRES_PASSWORD'='***'
  -e 'UWSGI_PROCESSES'='1'
  -e 'UWSGI_THREADS'='1'
  -p '4200:80/tcp'
  -v '/mnt/user/appdata/compreface':'/var/lib/postgresql/data':'rw'
  --device='/dev/bus/usb'
  'bropat/compreface:1.2.0-facenet-tpu'

@jacobwtyler
Copy link

Do I need to have a 2nd USB Coral device if I'm already using my Coral for Frigate?

@NickM-27
Copy link

NickM-27 commented Jan 9, 2024

yes, a coral can not be shared by multiple processes

@jmorille
Copy link

The USB TPU Coral is not recognize on my configuration

  • Intel N100
  • on Proxmox VM
  • No other usage of the TPU Coral (frigate was stopped)

with the change to the default install docker-compose file (on public site),

compreface-core:
    restart: unless-stopped
    image: bropat/compreface:1.2.0-facenet-tpu
    privileged: true 
    container_name: "compreface-core"
    devices:
      - /dev/bus/usb:/dev/bus/usb # passes the USB Coral 
    environment:   
      - TZ=Europe/Paris
      - ML_PORT=3000
      - IMG_LENGTH_LIMIT=${max_detect_size}
      - UWSGI_PROCESSES=${uwsgi_processes:-2}
      - UWSGI_THREADS=${uwsgi_threads:-1} 

and the TPU coral is not recognize, if the read well the logs

setgid() to 33
set additional group 46 (plugdev)
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address 0.0.0.0:3000 fd 3
Python version: 3.8.18 (default, Oct 11 2023, 23:57:43)  [GCC 10.2.1 20210110]
2024-01-11 23:21:13,507 INFO exited: startup (exit status 127; not expected)
Python main interpreter initialized at 0x55e0498156f0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver traceback=Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/tensorflow/python/distribute/cluster_resolver/tpu_cluster_resolver.py", line 32, in <module>
   from cloud_tpu_client import client  # pylint: disable=g-import-not-at-top
ModuleNotFoundError: No module named 'cloud_tpu_client'
Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver traceback=Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/tensorflow/python/distribute/cluster_resolver/tpu_cluster_resolver.py", line 32, in <module>
   from cloud_tpu_client import client  # pylint: disable=g-import-not-at-top
ModuleNotFoundError: No module named 'cloud_tpu_client'
build_version=dev
{'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app traceback=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app traceback=null build_version=dev
Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app traceback=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app traceback=null build_version=dev
WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0x55e0498156f0 pid: 8 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 8)
spawned uWSGI worker 1 (pid: 12, cores: 1)
spawned uWSGI worker 2 (pid: 13, cores: 1)
Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} logger=embedding-calculator module=app Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.15"} logger=embedding-calculator module=app traceback=Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 161, in load_delegate
   delegate = Delegate(library, options)
 File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 120, in __init__
   raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
   response = self.full_dispatch_request()
 File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1945, in full_dispatch_request
   self.try_trigger_before_first_request_functions()
 File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1993, in try_trigger_before_first_request_functions
   func()
 File "/app/ml/./src/_endpoints.py", line 52, in init_model
   detector(
 File "/app/ml/./src/services/facescan/plugins/mixins.py", line 46, in __call__
   faces = self._fetch_faces(img, det_prob_threshold)
 File "/app/ml/./src/services/facescan/plugins/mixins.py", line 53, in _fetch_faces
   boxes = self.find_faces(img, det_prob_threshold)
 File "/app/ml/./src/services/facescan/plugins/facenet/coralmtcnn/coralmtcnn.py", line 77, in find_faces
   fdn = self._face_detection_net
 File "/usr/local/lib/python3.8/site-packages/cached_property.py", line 36, in __get__
   value = obj.__dict__[self.func.__name__] = self.func(obj)
 File "/app/ml/./src/services/facescan/plugins/facenet/coralmtcnn/coralmtcnn.py", line 61, in _face_detection_net
   return MTCNN(
 File "/usr/local/lib/python3.8/site-packages/mtcnn_tflite/MTCNN.py", line 83, in __init__
   self.builder = ModelBuilder()
 File "/usr/local/lib/python3.8/site-packages/mtcnn_tflite/ModelBuilder.py", line 43, in __init__
   delegate_list = tf.lite.experimental.load_delegate('libedgetpu.so.1')
 File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 163, in load_delegate
   raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

The error ValueError: Failed to load delegate from libedgetpu.so.1 run in loop

The USB TPU Coral seem to be well mount in docker container

root@e9e83a810a73:~# ls -al /dev/bus/usb/
total 0
drwxr-xr-x 3 root root 60 Jan 11 23:31 .
drwxr-xr-x 3 root root 60 Jan 11 23:31 ..
drwxr-xr-x 2 root root 80 Jan 11 23:31 002

@NickM-27
Copy link

@jmorille you need to change the default env values so there is only 1 process and only 1 thread

@jmorille
Copy link

Of course, No concurent access on TPU Coral

So I change the env variable

uwsgi_processes=1
uwsgi_threads=1

And now only one worker is started,

spawned uWSGI master process (pid: 8)
spawned uWSGI worker 1 (pid: 12, cores: 1)

but same error

/usr/lib/python3/dist-packages/supervisor/options.py:474: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  self.warnings.warn(
2024-01-11 23:52:57,405 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2024-01-11 23:52:57,405 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2024-01-11 23:52:57,407 INFO RPC interface 'supervisor' initialized
2024-01-11 23:52:57,407 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2024-01-11 23:52:57,408 INFO supervisord started with pid 1
supervisor: couldn't exec /startup.sh: ENOENT
supervisor: child process was not spawned
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Thu Jan 11 23:52:58 2024] ***
compiled with version: 10.2.1 20210110 on 16 October 2023 06:27:05
os: Linux-6.5.11-7-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-7 (2023-12-05T09:44Z)
nodename: 14f9c486f268
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 4
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
setgid() to 33
set additional group 46 (plugdev)
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address 0.0.0.0:3000 fd 3
Python version: 3.8.18 (default, Oct 11 2023, 23:57:43)  [GCC 10.2.1 20210110]
2024-01-11 23:52:58,409 INFO spawned: 'startup' with pid 7
2024-01-11 23:52:58,411 INFO spawned: 'compreface-core' with pid 8
2024-01-11 23:52:58,413 INFO success: startup entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-11 23:52:58,413 INFO success: compreface-core entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-01-11 23:52:58,418 INFO exited: startup (exit status 127; not expected)
Python main interpreter initialized at 0x555feac8f6f0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145808 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver traceback=Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/tensorflow/python/distribute/cluster_resolver/tpu_cluster_resolver.py", line 32, in <module>
    from cloud_tpu_client import client  # pylint: disable=g-import-not-at-top
ModuleNotFoundError: No module named 'cloud_tpu_client'
 Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client. | severity=DEBUG request=null logger=tensorflow module=tpu_cluster_resolver traceback=Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/tensorflow/python/distribute/cluster_resolver/tpu_cluster_resolver.py", line 32, in <module>
    from cloud_tpu_client import client  # pylint: disable=g-import-not-at-top
ModuleNotFoundError: No module named 'cloud_tpu_client'
 build_version=dev
{'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app traceback=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | {'BUILD_VERSION': 'dev', 'CALCULATION_PLUGIN': 'facenet.coralmtcnn.Calculator', 'EXTRA_PLUGINS': ['facenet.LandmarksDetector', 'agegender.GenderDetector', 'agegender.AgeDetector', 'facenet.facemask.MaskDetector', 'facenet.PoseEstimator'], 'FACE_DETECTION_PLUGIN': 'facenet.coralmtcnn.FaceDetector', 'GPU_IDX': -1, 'IMG_LENGTH_LIMIT': 640, 'INTEL_OPTIMIZATION': False, 'IS_DEV_ENV': False, 'LOGGING_LEVEL_NAME': 'DEBUG', 'ML_PORT': 3000, 'RUN_MODE': True} | severity=INFO request=null logger=src.app module=app traceback=null build_version=dev
Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app traceback=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG Creating new app for WSGI | Creating new app for WSGI | severity=DEBUG request=null logger=src.app module=app traceback=null build_version=dev
WSGI app 0 (mountpoint='') ready in 3 seconds on interpreter 0x555feac8f6f0 pid: 8 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 8)
spawned uWSGI worker 1 (pid: 12, cores: 1)
Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator module=app Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator module=app traceback=Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 161, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 120, in __init__
    raise ValueError(capture.message)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1945, in full_dispatch_request
    self.try_trigger_before_first_request_functions()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1993, in try_trigger_before_first_request_functions
    func()
  File "/app/ml/./src/_endpoints.py", line 52, in init_model
    detector(
  File "/app/ml/./src/services/facescan/plugins/mixins.py", line 46, in __call__
    faces = self._fetch_faces(img, det_prob_threshold)
  File "/app/ml/./src/services/facescan/plugins/mixins.py", line 53, in _fetch_faces
    boxes = self.find_faces(img, det_prob_threshold)
  File "/app/ml/./src/services/facescan/plugins/facenet/coralmtcnn/coralmtcnn.py", line 77, in find_faces
    fdn = self._face_detection_net
  File "/usr/local/lib/python3.8/site-packages/cached_property.py", line 36, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/app/ml/./src/services/facescan/plugins/facenet/coralmtcnn/coralmtcnn.py", line 61, in _face_detection_net
    return MTCNN(
  File "/usr/local/lib/python3.8/site-packages/mtcnn_tflite/MTCNN.py", line 83, in __init__
    self.builder = ModelBuilder()
  File "/usr/local/lib/python3.8/site-packages/mtcnn_tflite/ModelBuilder.py", line 43, in __init__
    delegate_list = tf.lite.experimental.load_delegate('libedgetpu.so.1')
  File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 163, in load_delegate
    raise ValueError('Failed to load delegate from {}\n{}'.format(
ValueError: Failed to load delegate from libedgetpu.so.1

 Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator module=app Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} Exception on /status [GET] | Exception on /status [GET] | severity=ERROR Exception on /status [GET] | Exception on /status [GET] | severity=ERROR request={"method":"GET","path":"/status","filename":"","api_key":"","remote_addr":"172.20.0.14"} logger=embedding-calculator module=app traceback=Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 161, in load_delegate
    delegate = Delegate(library, options)
  File "/usr/local/lib/python3.8/site-packages/tensorflow/lite/python/interpreter.py", line 120, in __init__
    raise ValueError(capture.message)
ValueError

Same loop error ValueError: Failed to load delegate from libedgetpu.so.1

@canadarob
Copy link

From my previous experience "Failed to load delegate from libedgetpu.so.1" is a very general error. Often this came down to permissions issues accessing the driver.
You could try to run the UWSGI as root(modify uwsgi.ini within the container) to rule out permission issues. Then continue troubleshooting from there.

@RobertLukan
Copy link

I had the same issue as mentioned by @jmorille with libedgetpu.so.1. I fixed it by giving root permission inside of uwsgi.ini. I am not sure if this is a correct fix or just a workaround ? For now it looks like that everything is working. I can see following debug messages:

severity=DEBUG request={"method":"POST","path":"/find_faces","filename":"1705248380.281473-yfohwf-latest-dee00a10-f2d2-4816-a8bb-949975122223.jpg","api_key":"","remote_addr":"172.23.0.4"} logger=src.services.facescan.plugins.facenet.coralmtcnn.coralmtcnn module=coralmtcnn traceback=null build_version=dev

I need to figure out how to monitor the performance of Coral TPU. I am using M.2 module.

@canadarob
Copy link

I had the same issue as mentioned by @jmorille with libedgetpu.so.1. I fixed it by giving root permission inside of uwsgi.ini. I am not sure if this is a correct fix or just a workaround ? For now it looks like that everything is working. I can see following debug messages:

severity=DEBUG request={"method":"POST","path":"/find_faces","filename":"1705248380.281473-yfohwf-latest-dee00a10-f2d2-4816-a8bb-949975122223.jpg","api_key":"","remote_addr":"172.23.0.4"} logger=src.services.facescan.plugins.facenet.coralmtcnn.coralmtcnn module=coralmtcnn traceback=null build_version=dev

I need to figure out how to monitor the performance of Coral TPU. I am using M.2 module.

It's definitely a workaround. Something you wouldn't see in production.

It's hard to get metrics from the coral. But you can infer its working by its temperature.

@jmorille
Copy link

I confirm also that the fix, change user www-data to root in file uwsgi.ini work and fix the startup problem

  • I also try to change the permission on the mount of USB TPU Coral, even in 777 but that is not not working.

I will buy another TPU to have a better configuration for testing.

@lamkhatinh
Copy link

I see that edge tpu have 3 mode clock from reduced clock, standard and maximum. Which mode support in this image ?

@canadarob
Copy link

I see that edge tpu have 3 mode clock from reduced clock, standard and maximum. Which mode support in this image ?

The driver that was used was the standard driver. This only matters for the USB coral's. If you have PCI or M2 based coral it will run at the max clock.

@lamkhatinh
Copy link

Could you please share me how I can use max clock driver ?

@canadarob
Copy link

Could you please share me how I can use max clock driver ?

https://coral.ai/docs/accelerator/get-started/#runtime-on-linux
the section:
"Install with maximum operating frequency (optional)"

Run that within the compreface container

@eav-solution
Copy link

Really thanks, I got it!

@tbclark3
Copy link

tbclark3 commented Feb 8, 2024

I run Frigate successfully in an unprivileged Docker container mapping a single Coral as a device. I just received a second Coral, hoping to use it with CompreFace in a different Docker container. However, any time I plug in the second Coral, Frigate fails to restart. I have tried various solutions, including mapping the individual device, but I can't get past plugging in the second Coral. I have multiple USB controllers. Power is not an issue. If anybody has a working setup, can you post your docker-compose files and the relevant portions of config files for frigate and compreface-core?

@wavecom-it
Copy link

@pospielov fwiw I can confirm that it does work with the above fixes (yml source change, uwsgi root, and single process/thread.) At least with a single USB coral as that is all I have to test with.

@arpel
Copy link

arpel commented Apr 19, 2024

Also tested with the same workarounds but I can't witness any improvements on performance, at least remotely with sollicitations from double-take. I'm basically getting the same response speed than Mobilenet on CPU (n100, AVX2).
Are you having the same? Is there any mean to benchmark ?

@NickM-27
Copy link

I don't think the point is response time I think the point is reduced CPU usage. Without running on corals CPU usage would spike each time an inference was run. Now it does not at all. Both are fast either way

@arpel
Copy link

arpel commented Apr 20, 2024

You're perfectly right and I'm also much more concerned about long term stability than benchmark performance 😉 I only have one Coral and I'm wondering what is it's best use : for Frigate or for Compreface. Based on "sollicitations" I would assume that it using it for Frigate might be the best choice.

@NickM-27
Copy link

frigate runs object detection much more frequently than compreface so yes. Personally, I run 2 corals (from a dual tpu m.2) on frigate and another 2 corals (from a dual tpu m.2) on compreface

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet