exadel-inc / CompreFace

Leading free and open-source face recognition system
https://exadel.com/accelerator-showcase/compreface/
Apache License 2.0
5.69k stars 775 forks source link

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

Open bropat opened 1 year ago

github-actions[bot] commented 1 year ago

CLA Assistant Lite bot:
Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


5 out of 6 committers have signed the CLA.
:white_check_mark: @ashutau
:white_check_mark: @VolodymyrBushko
:white_check_mark: @pospielov
:white_check_mark: @smchedlidze826
:white_check_mark: @aianko
:x: @Sazonava Hanna
Sazonava Hanna seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheckcla in this Pull Request

bropat commented 1 year ago

Created docker builds (untested):

rpetrina commented 12 months ago

Hello, is there any expected timeline for this PR to merge? Is any testing assistance needed? It looks like the missing contributor signing is the blocker.

Am I correct that this PR would enable Coral support in both the individual builds and the single image build?

osnabrugge commented 11 months ago

Anxiously awaiting release and like @rpetrina , happy to help 😊

i1Fury commented 11 months ago

I'm prepared to use this in a professional environment asap :)

RobertLukan commented 11 months ago

I would also be happy to test it.

pospielov commented 11 months ago

@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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

@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 commented 10 months ago

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 commented 10 months ago

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 commented 10 months ago

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

NickM-27 commented 10 months ago

yes, a coral can not be shared by multiple processes

jmorille commented 10 months ago

The USB TPU Coral is not recognize on my configuration

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 commented 10 months ago

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

jmorille commented 10 months ago

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 commented 10 months ago

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 commented 10 months ago

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 commented 10 months ago

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 commented 10 months ago

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

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

lamkhatinh commented 9 months ago

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

canadarob commented 9 months ago

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 commented 9 months ago

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

canadarob commented 9 months ago

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 commented 9 months ago

Really thanks, I got it!

tbclark3 commented 9 months ago

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 commented 8 months ago

@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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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

BlackRockCity commented 4 months ago

It sounds like Coral support is running for some people in beta versions of CompreFace. If that is true, does this mean the intel AVX extensions are no longer a requirement? I would like to attach a USB Coral to a server running Xeon CPUs that lack AVX, use vUSB passthrough in XCP-ng to attach the USB Coral to a docker container running CompreFace. Would this scenario work (Is AVX no longer required to run CompreFace)?

rhamblen commented 1 month ago

Ive a dual tpu installed and it is working fine with other apps but not compreface I have dedicated it to only work with Compreface so it isnt being used by anything else. I'm using it in a docker for unbraid. Everything looks fine but it wont start up correctly and I dont get it working.

Any ideas or direction???

docker run -d --name='CompreFace-TPU' --net='bridge' --pids-limit 2048 --privileged=true -e TZ="Europe/London" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Server-UR1" -e HOST_CONTAINERNAME="CompreFace-TPU" -e 'UWSGI_PROCESSES'='1' -e 'UWSGI_THREADS'='1' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:80]' -l net.unraid.docker.icon='https://raw.githubusercontent.com/corgan2222/unraid-templates/main/img/compreface.png' -p '8800:80/tcp' -v '/mnt/user/appdata/compreface-tpu':'/var/lib/postgresql/data':'rw' --device='/dev/apex_0' --device='/dev/apex_1' 'bropat/compreface:1.2.0-facenet-tpu'

/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(
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 [Mon Oct 14 10:03:38 2024] ***
compiled with version: 10.2.1 20210110 on 16 October 2023 06:27:05
os: Linux-6.6.52-Unraid #2 SMP PREEMPT_DYNAMIC Fri Sep 27 10:05:59 PDT 2024
nodename: 7c28ba23625e
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 16
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
setgid() to 33
set additional group 46 (plugdev)
setuid() to 33
your processes number limit is 127890
your memory page size is 4096 bytes
detected max file descriptor number: 40960
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]
Python main interpreter initialized at 0x55c70b588f10
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 ***
{"severity": "DEBUG", "message": "Falling back to TensorFlow client; we recommended you install the Cloud TPU client directly with pip install cloud-tpu-client.", "request": null, "logger": "tensorflow", "module": "tpu_cluster_resolver", "traceback": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.8/site-packages/tensorflow/python/distribute/cluster_resolver/tpu_cluster_resolver.py\", line 32, in <module>\n    from cloud_tpu_client import client  # pylint: disable=g-import-not-at-top\nModuleNotFoundError: No module named 'cloud_tpu_client'\n", "build_version": "dev"}
{"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 0x55c70b588f10 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)
2024-10-14 10:03:37,120 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-10-14 10:03:37,120 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2024-10-14 10:03:37,122 INFO RPC interface 'supervisor' initialized
2024-10-14 10:03:37,122 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2024-10-14 10:03:37,122 INFO supervisord started with pid 1
2024-10-14 10:03:38,125 INFO spawned: 'startup' with pid 7
2024-10-14 10:03:38,127 INFO spawned: 'compreface-core' with pid 8
2024-10-14 10:03:38,128 INFO success: startup entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-10-14 10:03:38,128 INFO success: compreface-core entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2024-10-14 10:03:38,128 INFO exited: startup (exit status 127; not expected)