Hand a device-scored sequence back to the API model when the device stops scoring
I maintainer di solito rispondono entro 6 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 42/100
Direzione di ricerca
Read #723 and inspect the sequence scoring worker, the sequences model, and its migrations; the payload does not name file paths or tests. Compare the proposed frame-count fallback with the engine signal alternative, including how each distinguishes an unsupported device model from a failed model. Done means sequences resume API scoring after device scores stop and avoid applying WINDOW_EXHAUSTED from the old device score.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up of #723. Since that PR a frame without a device score keeps the sequence's last device verdict: the API never falls back to its own model once a sequence received a device score, and the stored score only ever rises.
Edge case. If the device stops sending scores for good in the middle of a sequence (pyro-engine fails open until the end of the event, pyronear/pyro-engine#415) while the stored max is below the threshold, frames keep arriving but nothing judges them anymore: no API scoring, no fail-open, no WINDOW_EXHAUSTED. A real fire on that sequence would never alert. Much less likely than the old single-blip reset, which is why #723 accepted it.
Proposal (fe51).
- store when the device last sent a score, e.g. a
device_scored_atcolumn onsequences(migration); - in the worker, after N frames without a device score (e.g.
MIN_FRAMES), take the API path on the lastMAX_FRAMESframes; - in that case skip the
WINDOW_EXHAUSTEDrule based on the old device score.
Failing open there is acceptable because it only happens after N missed frames, not after one.
Alternative to weigh. The engine knows when it fails open. It could say so explicitly (an empty temporal_model_scores=[], or a dedicated flag) instead of sending nothing, and the API would hand the sequence back to its own model on that signal without counting frames and without a new column. Needs the engine to distinguish "no model on this device" from "model down since frame N".
- Lingua principale
- Python
- Stelle
- 30
- Fork
- 15
- Merge medio
- 7g 16h
- PR unite (30g)
- 16
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pyronear/pyro-api
-
Tests in test_risk_filter.py fail when CI runs shortly after midnight UTCForse già presa @Majyles l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 6 giorni
-
Share an alert with a temporary public linkForse già presa @Acruve15 l’ha presa 8 giorni fa. Apertatype: feat
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
I maintainer di solito rispondono entro 6 giorni
-
type: feat
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di pyronear/pyro-api
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
huggingface/accelerate#4511 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
pylint-dev/pylint#11791 ·
I maintainer di solito rispondono entro 1 giorno
-
Rasterio granule reads never retry, so one 503 (Service Unavailable) fails the whole requestForse già presa @chuckwondo l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
developmentseed/titiler-cmr#305 ·
I maintainer di solito rispondono entro 1 giorno
-
community enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno