|
|
@@ -206,35 +206,49 @@ python tool/convert_to_bmodel.py --all --with-bmodel --quantize fp16
|
|
|
|
|
|
```
|
|
|
deploy_pickup/
|
|
|
-├── run_pickup_monitor.py # 主入口(采集 + 检测 + 推送)
|
|
|
-├── start.sh # 启动/停止/重启脚本
|
|
|
+├── run_with_auto_training.py # 边缘端主入口(冷启动 + 监控主控)
|
|
|
+├── run_pickup_monitor.py # 实时监控核心逻辑(采集 + 投票 + 入队)
|
|
|
+├── run_upload_worker.py # 边缘端数据异步上传进程
|
|
|
+├── run_model_sync.py # 边缘端模型热更新同步进程
|
|
|
+├── start.sh # 统一启停管控脚本(自动拉起辅助进程)
|
|
|
├── requirements.txt
|
|
|
│
|
|
|
+├── cloud_server/ # 云端管理服务
|
|
|
+│ ├── main.py # 云端 FastAPI 启动入口 (:8800)
|
|
|
+│ └── routers/ # 云端接口 (数据接收 / 模型分发)
|
|
|
+│
|
|
|
├── config/ # 配置
|
|
|
-│ ├── pickup_config.db # 运行时配置数据库
|
|
|
-│ ├── config_manager.py # 配置读写
|
|
|
-│ ├── config_api.py # REST API(:8080)
|
|
|
-│ ├── db_models.py # 表定义
|
|
|
-│ └── auto_training.yaml # 训练参数
|
|
|
+│ ├── loader.py # 统一配置加载入口(双模解析核心)
|
|
|
+│ ├── pickup_config.db # 运行时 SQLite 配置中心
|
|
|
+│ ├── config_manager.py # 配置读写与热更新逻辑
|
|
|
+│ ├── config_api.py # 边缘端管理 API(:18080)
|
|
|
+│ ├── db_models.py # 数据库表与 ORM 定义
|
|
|
+│ └── auto_training.yaml # 训练参数(备用)
|
|
|
│
|
|
|
-├── predictor/ # 推理
|
|
|
-│ ├── model_def.py # ConvAutoencoder(base_ch=8, ~49K参数)
|
|
|
-│ ├── multi_model_predictor.py # 多设备模型管理 + 热加载
|
|
|
+├── predictor/ # 推理与模型
|
|
|
+│ ├── model_def.py # 核心自编码器(ConvAutoencoder)
|
|
|
+│ ├── multi_model_predictor.py # 多设备模型管理与无缝热加载
|
|
|
│ ├── config.py / datasets.py / utils.py
|
|
|
│
|
|
|
-├── core/ # 运行时辅助
|
|
|
-│ ├── alert_aggregator.py # 跨设备告警聚合
|
|
|
-│ ├── anomaly_classifier.py # 异常类型分类
|
|
|
-│ ├── pump_state_monitor.py # 泵状态 PLC 查询
|
|
|
-│ ├── energy_baseline.py # 泵启停判断
|
|
|
-│ └── human_detection_reader.py # 人体检测抑制
|
|
|
+├── core/ # 业务辅助模块
|
|
|
+│ ├── alert_aggregator.py # 跨设备告警聚合抑制
|
|
|
+│ ├── ml_classifier.py # 异常发生后的二次分类(接管原方案)
|
|
|
+│ ├── audio_uploader.py # 主进程录音转码入队封装
|
|
|
+│ ├── model_sync.py # 模型版本比对与原子替换封装
|
|
|
+│ ├── pump_state_monitor.py # PLC 泵状态联动读取
|
|
|
+│ ├── energy_baseline.py # 设备底噪级停机判断
|
|
|
+│ └── human_detection_reader.py # 人形入侵检测抑制
|
|
|
+│
|
|
|
+├── auto_training/ # 二次学习与自动训练
|
|
|
+│ ├── standalone_train.py # 离线/单次手动全量训练入口
|
|
|
+│ ├── incremental_trainer.py # 增量训练/冷启动训练核心
|
|
|
+│ ├── verify_normal.py # 误报打标校验工具
|
|
|
+│ └── data_cleanup.py # 磁盘轮转与过期数据清理
|
|
|
│
|
|
|
-├── auto_training/ # 训练(可独立运行)
|
|
|
-│ ├── standalone_train.py # ← 训练入口(就用这个)
|
|
|
-│ ├── incremental_trainer.py # 训练器核心
|
|
|
-│ └── data_cleanup.py # 过期音频/日志清理(可选,手动运行)
|
|
|
+├── tool/ # 运维与实施工具
|
|
|
+│ ├── migrate_yaml_to_db.py # 一键从 YAML 重置 SQLite 配置
|
|
|
+│ └── convert_to_bmodel.py # NPU 加速用 BModel 转换工具
|
|
|
│
|
|
|
-├── models/{设备编码}/ # 模型(训练自动产出)
|
|
|
-├── tool/migrate_yaml_to_db.py # YAML → DB 迁移
|
|
|
-└── data/ # 运行时音频
|
|
|
+├── models/{设备编码}/ # 本地自训练产出的模型存放区
|
|
|
+└── data/ # 运行时音频 / 队列暂存 / 异常快照库
|
|
|
```
|