BMW-InnovationLab / BMW-Anonymization-API

This repository allows you to anonymize sensitive information in images/videos. The solution is fully compatible with the DL-based training/inference solutions that we already published/will publish for Object Detection and Semantic Segmentation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bmw-annomization-api does not start

marmile opened this issue · comments

Hi,

I failed to get the docker-compose path to work. Links to underling services in docker-compose path does not point to repos anymore.
I used the links from the main page https://github.com/BMW-InnovationLab/BMW-IntelOpenVINO-Detection-Inference-API, https://github.com/BMW-InnovationLab/BMW-IntelOpenVINO-Detection-Inference-API.

I see following errors during docker-compose up:

bmw-anonymization-api-openvino_detection_api-1     | {"loglevel": "debug", "workers": 1, "bind": "0.0.0.0:80", "timeout": 3600, "workers_per_core": 1.0, "host": "0.0.0.0", "port": "80"}
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:27,530 [gunicorn.error] INFO Starting gunicorn 20.0.4
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:27,530 [gunicorn.error] INFO Listening at: http://0.0.0.0:80 (1)
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:27,530 [gunicorn.error] INFO Using worker: uvicorn.workers.UvicornWorker
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:27,532 [gunicorn.error] INFO Booting worker with pid: 25
bmw-anonymization-api-openvino_segmentation_api-1  | {"loglevel": "debug", "workers": 1, "bind": "0.0.0.0:80", "timeout": 3600, "workers_per_core": 1.0, "host": "0.0.0.0", "port": "80"}
bmw-anonymization-api-openvino_segmentation_api-1  | 2022-09-20 16:16:27,598 [gunicorn.error] INFO Starting gunicorn 20.0.4
bmw-anonymization-api-openvino_segmentation_api-1  | 2022-09-20 16:16:27,599 [gunicorn.error] INFO Listening at: http://0.0.0.0:80 (1)
bmw-anonymization-api-openvino_segmentation_api-1  | 2022-09-20 16:16:27,599 [gunicorn.error] INFO Using worker: uvicorn.workers.UvicornWorker
bmw-anonymization-api-openvino_segmentation_api-1  | 2022-09-20 16:16:27,600 [gunicorn.error] INFO Booting worker with pid: 25
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:33,145 [uvicorn.access] INFO 172.18.0.4:43614 - "GET /models HTTP/1.1" 200
bmw-anonymization-api-openvino_detection_api-1     | Incorrect weights in bin file!
bmw-anonymization-api-openvino_detection_api-1     | Error loading model
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:33,325 [uvicorn.access] INFO 172.18.0.4:43616 - "GET /models/detect_cups/labels HTTP/1.1" 500
bmw-anonymization-api-openvino_detection_api-1     | Incorrect weights in bin file!
bmw-anonymization-api-openvino_detection_api-1     | Error loading model
bmw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:16:33,332 [uvicorn.access] INFO 172.18.0.4:43618 - "GET /models/detect_cups/config HTTP/1.1" 500
bmw-anonymization-api-anonymization_api-1          | Traceback (most recent call last):
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/bin/uvicorn", line 8, in <module>
bmw-anonymization-api-anonymization_api-1          |     sys.exit(main())
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
bmw-anonymization-api-anonymization_api-1          |     return self.main(*args, **kwargs)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1055, in main
bmw-anonymization-api-anonymization_api-1          |     rv = self.invoke(ctx)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
bmw-anonymization-api-anonymization_api-1          |     return ctx.invoke(self.callback, **ctx.params)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 760, in invoke
bmw-anonymization-api-anonymization_api-1          |     return __callback(*args, **kwargs)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/main.py", line 426, in main
bmw-anonymization-api-anonymization_api-1          |     run(app, **kwargs)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/main.py", line 452, in run
bmw-anonymization-api-anonymization_api-1          |     server.run()
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/server.py", line 68, in run
bmw-anonymization-api-anonymization_api-1          |     return asyncio.run(self.serve(sockets=sockets))
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run
bmw-anonymization-api-anonymization_api-1          |     return loop.run_until_complete(main)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete
bmw-anonymization-api-anonymization_api-1          |     return future.result()
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/server.py", line 76, in serve
bmw-anonymization-api-anonymization_api-1          |     config.load()
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/config.py", line 456, in load
bmw-anonymization-api-anonymization_api-1          |     self.loaded_app = import_from_string(self.app)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/site-packages/uvicorn/importer.py", line 21, in import_from_string
bmw-anonymization-api-anonymization_api-1          |     module = importlib.import_module(module_str)
bmw-anonymization-api-anonymization_api-1          |   File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
bmw-anonymization-api-anonymization_api-1          |     return _bootstrap._gcd_import(name[level:], package, level)
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap>", line 983, in _find_and_load
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap_external>", line 728, in exec_module
bmw-anonymization-api-anonymization_api-1          |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
bmw-anonymization-api-anonymization_api-1          |   File "./start.py", line 23, in <module>
bmw-anonymization-api-anonymization_api-1          |     config.master_dict = labels_methods()
bmw-anonymization-api-anonymization_api-1          |   File "./labels.py", line 15, in labels_methods
bmw-anonymization-api-anonymization_api-1          |     api_client = ApiClient()
bmw-anonymization-api-anonymization_api-1          |   File "./APIClient.py", line 15, in __init__
bmw-anonymization-api-anonymization_api-1          |     self.get_api_configuration()
bmw-anonymization-api-anonymization_api-1          |   File "./APIClient.py", line 39, in get_api_configuration
bmw-anonymization-api-anonymization_api-1          |     self.get_models(url)
bmw-anonymization-api-anonymization_api-1          |   File "./APIClient.py", line 59, in get_models
bmw-anonymization-api-anonymization_api-1          |     model_type = self.get_model_configuration(url, model_name)
bmw-anonymization-api-anonymization_api-1          |   File "./APIClient.py", line 90, in get_model_configuration
bmw-anonymization-api-anonymization_api-1          |     return response.json()["data"]["type"]
bmw-anonymization-api-anonymization_api-1          | TypeError: 'NoneType' object is not subscriptable
bmw-anonymization-api-anonymization_api-1 exited with code 1

I'm not able to resolve labels in listed model:

mw-anonymization-api-openvino_detection_api-1     | 2022-09-20 16:27:15,424 [uvicorn.access] INFO 172.18.0.1:51654 - "GET /models/detect_cups/labels HTTP/1.1" 500

HW reference:

01: None 00.0: 10103 CPU                                        
  [Created at cpu.465]
  Unique ID: rdCR.j8NaKXDZtZ6
  Hardware Class: cpu
  Arch: X86-64
  Vendor: "GenuineIntel"
  Model: 6.158.10 "Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz"
  Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,pdpe1gb,rdtscp,lm,constant_tsc,art,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,cpuid,aperfmperf,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,smx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,3dnowprefetch,cpuid_fault,invpcid_single,pti,ssbd,ibrs,ibpb,stibp,tpr_shadow,vnmi,flexpriority,ept,vpid,ept_ad,fsgsbase,tsc_adjust,bmi1,avx2,smep,bmi2,erms,invpcid,mpx,rdseed,adx,smap,clflushopt,intel_pt,xsaveopt,xsavec,xgetbv1,xsaves,dtherm,ida,arat,pln,pts,hwp,hwp_notify,hwp_act_window,hwp_epp,md_clear,flush_l1d,arch_capabilities
  Clock: 3700 MHz
  BogoMips: 7399.70
  Cache: 12288 kb
  Units/Processor: 16
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Hello @marmile,

Thanks for your comment regarding the links. I already adjusted them.

As for the error message, it seems that the model in the object detection API is not being loaded however the one for the semantic segmentation works well. To be able to use the sample inference model provided with this repository make sure to use git clone and avoid downloading the repository as ZIP because it will not download the actual model stored on git lfs but just the pointer instead.

Hope the above was helpful and let us know if u encounter additional issues.