feat(bridge): classification 自適應解析 + 推論期動態切換
新增 classification 推論支援,核心是「不預設模型長相」: - output shape 自適應:支援 (1,C)/(C,)/(1,C,1,1)/(C,1,1)/(1,1,1,C) 及任何 squeeze 後為一維的張量;類別數從 shape 動態取得, 移除原本寫死的 num_classes=1000 - 無法解析時明確報錯(附實際 shape),不靜默回空結果 - logits vs 已 softmax 自動偵測:sum≈1.0 且全非負才跳過 softmax (容差 1e-4,實測 float32 softmax 偏差最大僅 ~4e-7) - label 為純顯示層:有注入用 label、沒有則輸出原始 enum class_N - input size 三層來源:SDK > 宣告值 > 檔名猜測,log 標示來源 - 新增 handle_set_inference_options:不重載模型即可改解析方式與 label 修正: - _detect_model_type 改為外部指定優先,解決未知檔名被誤判成 tiny_yolov3 而回傳空結果的根因 - handle_disconnect/reset 未清 label 狀態,導致換模型後沿用舊 label 表 - load_model 失敗路徑會污染全域 metadata,改為 defer-until-success - taskType 值域統一為 object_detection(原本回 detection) - 檔名解析原本只取 width 丟棄 height,非正方形模型會被壓成正方形 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
af44a9f9ba
commit
f14d24bd7b
File diff suppressed because it is too large
Load Diff
1572
local-tool/server/scripts/test_kneron_bridge_classification.py
Normal file
1572
local-tool/server/scripts/test_kneron_bridge_classification.py
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user