Device temporal scores: model version, separate threshold, minimum frames

オープン
#737 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 6 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
fastapi, postgresql, python

調査の方向性

Read the implementation of POST /detections, pyroclient.create_detection, and the worker branch that handles device scores, along with the existing temporal_model_version, TEMPORAL_MODEL_THRESHOLD, and MIN_FRAMES settings. Check how the engine’s 11-frame window fills early in an event before deciding where the minimum-frame rule belongs. Done means device scores can carry a model version, use their own threshold, and follow a clearly chosen minimum-frame rule.

索引モデルが issue の本文から書いたものです。

説明

Follow-up of #723, which stores the temporal score computed on the device with engine as provenance and applies TEMPORAL_MODEL_THRESHOLD to it.

Three things were left out of that PR to keep it small:

  • Model version. The engine sends no version with its scores, so temporal_model_version stays NULL for device scores. We cannot tell which release produced a score or spot calibration drift. Proposal: an optional temporal_model_version form field on POST /detections (and the matching pyroclient.create_detection parameter), stored in the existing column. pyro-engine side: send the version reported by pyro_temporal_api /health.
  • Separate threshold. The device model and the API model share TEMPORAL_MODEL_THRESHOLD, but their scores are not necessarily comparable. Proposal: a DEVICE_TEMPORAL_MODEL_THRESHOLD setting, defaulting to TEMPORAL_MODEL_THRESHOLD, used by the worker's device branch only.
  • Minimum frames. MIN_FRAMES does not apply to device scores: the engine scores its own window (11 frames, pyronear/pyro-engine#415) and sends a score with every frame once an alert is ongoing, so a sequence can validate on its creation frame. Decide whether the engine must score a minimum number of frames before sending scores, or whether the API should require a minimum here. Needs a look at how many frames the engine window holds early in an event.

No migration for the first two.

主要言語
Python
スター
30
フォーク
15
平均マージ
7日 16時間
マージ済み PR(30日)
16

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pyronear/pyro-api のほかの issue

pyronear/pyro-api の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。