diff --git a/README.md b/README.md index 9b47558..7d6d707 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# lemdb +# 基于材料物性参数的激光加工参数智能匹配系统(lemdb) 基于材料物性参数的激光加工参数智能匹配系统的数据与模型工程底座。当前仓库处于第一阶段初始化状态,重点建立领域模型、SQLite 存取骨架和工程规范。 diff --git a/docs/technical-selection-progress-report.md b/docs/technical-selection-progress-report.md index 0751b2b..450ac2d 100644 --- a/docs/technical-selection-progress-report.md +++ b/docs/technical-selection-progress-report.md @@ -98,7 +98,26 @@ ## 6. 技术选型与理由 -### 6.1 保留的技术路线 +### 6.1 实际场景中的技术需求 + +本项目服务的是真实的激光加工准备和实验采集过程,不是单纯的数据回归练习。技术报告中的目标设备是 HZZ-M300U 与 355nm 激光系统,目标是逐步覆盖 5 类材料、300–500 组物性-参数-效果映射数据。在这样的场景里,团队要面对三类典型问题: + +1. **换材料时的初始参数选择。**操作者面对椴木板、亚克力等新材料时,不可能每块材料都从零试起。系统需要根据材料反射率、吸收率、熔点、热导率、厚度等物性,给出初始激光参数建议,并提示是否有烧穿、阴燃等风险。 +2. **试切结果的结构化沉淀。**每次实验后,操作者需要把输出功率、扫描速度、脉冲频率、离焦量、扫描间距和切口宽度、蚀刻深度、图案清晰度等结果统一写回外部数据平台。若继续使用手工表格,字段含义、缺失值和实验溯源很快会失控。 +3. **后续交付时的可复现性。**验收方不只关心模型能算出数值,还要确认训练数据来自哪张表、模型使用哪些字段、评估是否真的用了没见过的材料。 + +因此,当前选型的重要性必须放在这个闭环里看:Pydantic 保证“材料物性 + 工艺参数 + 加工结果”在进入系统前就有统一形状;SQLite/外部平台承担“每次实验可追溯”的记录职责;GPR/RF 承担“连续工艺参数 + 布尔安全事件”的不同预测需求;LOMO 验证模拟“模型面对没见过的材料”;joblib 与 JSON 报告让训练结果可以被验收方带走检查。 + +| 实际场景问题 | 当前技术选择 | 为什么不可替代 | +| --- | --- | --- | +| 换新材料时不能每次都盲试 | `FeaturePreprocessor` 统一处理 20 个特征列 | 材料物性和工艺参数必须先变成同一量纲、同一缺失策略,模型才敢跨材料比较 | +| 操作者要判断“会不会切穿/阴燃” | `is_cut_through`、`is_fire_smolder` 路由到随机森林 | 这是典型的布尔风险事件,用连续回归硬拟合会造成语义错位 | +| 切口宽度和蚀刻深度要给工艺调整量 | 4 个连续目标路由到 GPR | 连续物理量需要保留误差尺度和后续不确定性输出 | +| 每次实验要能追溯到材料和结果 | 外部 `material_records` 表 + 只读加载器 | 避免仓库内复制出第二套“训练数据”,减少版本分叉 | +| 同一材料不能同时出现在训练和验证中 | 按 `material_name` 做 LOMO | 模拟“换了一块新材料”的真实使用方式,防止指标虚高 | +| 验收方要检查训练结果 | joblib 模型 + metrics.json | 把模型、预处理器、任务类型和折内指标一并保存,避免“只报结论” | + +### 6.2 保留的技术路线 | 决策项 | 当前选择 | 理由 | | --- | --- | --- | @@ -111,7 +130,7 @@ | 测试 | pytest | 覆盖数据契约、错误路径和模型流程 | | 静态检查 | Ruff | 当前 0 错误,保持代码风格和导入规范稳定 | -### 6.2 当前基线模型 +### 6.3 当前基线模型 | 目标类型 | 模型 | 参数 | | --- | --- | --- | @@ -228,4 +247,3 @@ uv run python -m lmpm.scripts.train 5. 工程质量由测试、Ruff、锁文件和文档共同保障。 因此,当前阶段的技术路线是成立的。下一步应当把资源集中在真实数据接入、数据画像和模型版本化上,而不是过早追求复杂模型。 -