double-take icon indicating copy to clipboard operation
double-take copied to clipboard

[FEAT] Compreface Detection Models = Custom Builds

Open ozett opened this issue 2 years ago • 8 comments

i tried to change another compre-face docker with a different detection-model than the default. i tried the hardest-one without GPU, and the system stood nearly still. than i changed to mobilenet and retrained one folder. i did the same with the default facenet-model.

the default had better recognition.

now i search for powerfull hardware and GPU.Support to try the hardest modell and compare again. i will report back .. ( one has to change the .env file to switch easy the models with the docker-compose call.)

image

ozett avatar Nov 02 '21 11:11 ozett

somebody is using double-take with the heaviest model. great. but it is eating memory... or is it double-take? -> https://github.com/exadel-inc/CompreFace/issues/569

ozett avatar Nov 02 '21 15:11 ozett

somebody is using double-take with the heaviest model. great. but it is eating memory... or is it double-take? -> exadel-inc/CompreFace#569

Double Take shouldn't be. It's a pretty light weight API and frontend. Guessing the memory leaks would be from CompreFace.

jakowenko avatar Nov 02 '21 16:11 jakowenko

they found the resnet taking ~ 1500 MB memory vs. (default) mobilefacenet ~ 720mb https://github.com/exadel-inc/CompreFace/issues/569#issuecomment-884852387

doubletake stays the shining winner! 👍

ozett avatar Nov 02 '21 17:11 ozett

i got another instance of compreface running with nvidia-gpu model. would be great to configure a second instance, but seems not possible to have 2 instances of compreface? could this be a feature request?

image

image

ozett avatar Nov 07 '21 18:11 ozett

my new compreface instance is ver 0.61 (jumped from 0.6.0). not sure if its from the new code, but if it try to train my images with this new gpu-model on this new version i got api-errors on the compreface log:

compreface-api            | }
compreface-ui             | 192.168.14.159 - - [07/Nov/2021:18:11:09 +0000] "POST /api/v1/recognition/faces?subject=test1 HTTP/1.1" 201 99 "-" "axios/0.22.0"
compreface-postgres-db    | 2021-11-07 18:11:46.011 UTC [208] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-ui             | 192.168.14.159 - - [07/Nov/2021:18:11:50 +0000] "DELETE /api/v1/recognition/faces?subject=test4 HTTP/1.1" 200 30 "-" "axios/0.22.0"
compreface-postgres-db    | 2021-11-07 18:11:59.351 UTC [211] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:00.048 UTC [213] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:03.359 UTC [215] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:06.479 UTC [217] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:26.134 UTC [219] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0

any hints what to do about this? its inside compreface? migration needed? or its api-call?

ozett avatar Nov 07 '21 18:11 ozett

weird. on my first seperate CPU maschine i got now cuda-errors. but on this maschine is no nvidia-gpu. how did this switched over?

compreface-core           | 2021-11-07 18:22:22.181578: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)
compreface-core           | {"severity": "DEBUG", "message": "Found: BoundingBoxDTO(x_min=173, y_min=158, x_max=386, y_max=417, probability=0.9265303015708923, _np_landmarks=array([[266, 2                                                                  64],\n       [333, 266],\n       [313, 320],\n       [268, 350],\n       [318, 351]]))", "request": {"method": "POST", "path": "/find_faces", "filename": "lenna.jpg", "api_key": "", "remot                                                                  e_addr": "172.19.0.6"}, "logger": "src.services.facescan.plugins.facenet.facenet", "module": "facenet", "traceback": null, "build_version": "dev"}
compreface-core           | 2021-11-07 18:22:30.345086: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)
compreface-core           | {"severity": "DEBUG", "message": "Found: BoundingBoxDTO(x_min=173, y_min=158, x_max=386, y_max=417, probability=0.9265303015708923, _np_landmarks=array([[266, 2                                                                  64],\n       [333, 266],\n       [313, 320],\n       [268, 350],\n       [318, 351]]))", "request": {"method": "POST", "path": "/find_faces", "filename": "lenna.jpg", "api_key": "", "remot                                                                  e_addr": "172.19.0.6"}, "logger": "src.services.facescan.plugins.facenet.facenet", "module": "facenet", "traceback": null, "build_version": "dev"}
compreface-ui             | 172.19.0.1 - - [07/Nov/2021:18:22:44 +0000] "POST /api/v1/recognition/recognize?face_plugins=age,gender&det_prob_threshold=0.6 HTTP/1.1" 499 0 "-" "axios/0.22.0"

ozett avatar Nov 07 '21 18:11 ozett

still interesting modell-zoo for exploration of more accuracy and maybe faster detection: https://github.com/deepinsight/insightface/tree/master/python-package#model-zoo

ozett avatar Nov 07 '21 19:11 ozett

my new compreface instance is ver 0.61 (jumped from 0.6.0). not sure if its from the new code, but if it try to train my images with this new gpu-model on this new version i got api-errors on the compreface log:

compreface-api            | }
compreface-ui             | 192.168.14.159 - - [07/Nov/2021:18:11:09 +0000] "POST /api/v1/recognition/faces?subject=test1 HTTP/1.1" 201 99 "-" "axios/0.22.0"
compreface-postgres-db    | 2021-11-07 18:11:46.011 UTC [208] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-ui             | 192.168.14.159 - - [07/Nov/2021:18:11:50 +0000] "DELETE /api/v1/recognition/faces?subject=test4 HTTP/1.1" 200 30 "-" "axios/0.22.0"
compreface-postgres-db    | 2021-11-07 18:11:59.351 UTC [211] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:00.048 UTC [213] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:03.359 UTC [215] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:06.479 UTC [217] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0
compreface-postgres-db    | 2021-11-07 18:12:26.134 UTC [219] FATAL:  unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0

any hints what to do about this? its inside compreface? migration needed? or its api-call?

I have the same issue on compreface 0.6.1 mobilenet gpu with external postgres13 db trying to use a Nvidia 1050Ti.

When double-take tries to connect I get: {"severity": "DEBUG", "message": "Found: BoundingBoxDTO(x_min=295, y_min=374, x_max=357, y_max=439, probability=0.00024579002638347447, _np_landmarks=array([[316.83188, 405.41898],\n [331.1991 , 400.42044],\n [328.3878 , 414.35837],\n [331.13724, 424.109 ],\n [341.3721 , 419.83313]], dtype=float32))", "request": {"method": "POST", "path": "/find_faces", "filename": "lenna.jpg", "api_key": "", "remote_addr": "127.0.0.1"}, "logger": "src.services.facescan.plugins.insightface.insightface", "module": "insightface", "traceback": null, "build_version": "dev"}

this is the single docker version, so I'm not sure if gpu errors are being omitted.

bigbangus avatar Dec 22 '21 12:12 bigbangus