Makes proofs
Go to file
2022-01-31 22:44:36 +01:00
results Added stuff 2022-01-31 21:25:58 +01:00
.gitignore Added more stuff 2021-11-24 20:50:26 +01:00
big_chop.py Added stuff 2022-01-31 21:25:58 +01:00
evaluation_server.py added something 2021-11-24 21:25:55 +01:00
push_csirip.py added something 2021-11-24 21:25:55 +01:00
README.md Added readme 2022-01-31 22:44:36 +01:00
requirements.txt Added more stuff 2021-11-24 20:50:26 +01:00
run_prefilter_service.sh Added readme 2022-01-31 22:44:36 +01:00

Proof maker

Ez egy túlkomplikált script arra, hogy egy hosszú (akár több órás) hangmintáról megmondja, hogy mekkora arányban azonosítja madárhangnak az SVM alapú MI.

Hogy működik?

Több lépésből áll a lefutása:

  • Hangminta felszeletelése 1 sec hosszú darabokra (big_chop.py)
  • Minták elküldése egy svm-prefilter-service számára (push_csirip.py)
  • Átengedett hangminták megszámolása (evaluation_server.py)

Az SVM prefilter szolgáltatás ugyanaz, mint ami a felhőben is fut, ezért itt a felhős környezetet emuláljuk le.

A push_csirip.py script ugyanolyan formátumban küldi fel a mintákat, ahogy egy birbox tenné. A minta számát az device_id mezőbe kódolja (úgy ahogy a TDK-s benchmarkoknál csináltuk).

A prefilter service fogadja a mintákat, lefutattja az elemzést és ha úgy itéli, akkor továbbítja azokat.

A továbbított minták a felhő helyett az evaluation_server.py által futtatott szolgáltatásba érkezenek, amely egy fájlhoz hozzáfűzi az érkezett minta számát.

A mérés kiértékeléséhez ennek a fájlnak a sorait kell megszámolni és összevetni az elküldött minták számával.

Futtatás

Hangminták előkészítése:

python3 big_chop.py [hosszú hang elérése] [minták száma]

A kimenet a big_chop_output mappába kerül mentésre, a push_csirip.py ezt használja.

El kell indítani egy prefilter szervice példányt:

./run_prefilter_service.sh

Megjegyzés: Ha podman helyett dockert használunk, akkor át kell írni a fájlban.

El kell indítani az evaluation server-t:

python3 evaluation_server.py

A kimenete az arrived.txt fájlba kerül, ha egy előző futás példánya itt maradt, azt le kell törölni előbb, mert hozzáfűzi.

Ha fut a két szolgáltatás, el lehet kezdeni küldeni bele a mintákat:

python3 push_csirip.py [szünet két küldés között másodpercben]