Added readme

This commit is contained in:
Pünkösd Marcell 2022-01-31 22:44:36 +01:00
parent cd8f1ae426
commit a0da4f6937
2 changed files with 48 additions and 0 deletions

48
README.md Normal file
View File

@ -0,0 +1,48 @@
# 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:
```bash
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:
```bash
./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:
```bash
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:
```bash
python3 push_csirip.py [szünet két küldés között másodpercben]
```