Lemuel_/OpenAlphaDiffract-NPU
模型介绍
文件和版本
Pull Requests
讨论
分析

linked-liszt/OpenAlphaDiffract 昇腾 NPU 推理适配

模型:OpenAlphaDiffract(晶体结构预测,ConvNeXt 风格 backbone + cs/lp/sg 三个头)

昇腾 NPU 适配结论

项目结果
前向输出cs_head logits (B, 7),CPU/NPU 一致
精度(rel-L2)4.52e-5(< 1% 阈值,PASS)
性能(NPU avg)1.09 ms(batch=1)
稳定性20 轮 batch=1 逐位一致(PASS)
验收六件套齐全,CPU/NPU 独立子进程对比

关键适配点

  • ConvNeXt 风格 backbone 重建:3 级 net.0/2/4(dwconv 深度可分离 + pwconv1/pwconv2 逐点)。
  • backbone.net.0.pwconv 是 Linear(1→80)(非 Conv1d)。
  • _ConvNeXtBlock 直接持有 dwconv/pwconv1/pwconv2 属性,避免键名嵌套。
  • _MLPHead 用 add_module('0'/'3'/'6') 直接注册到 self,让 state_dict 键名精确匹配 cs_head.0/3/6。
  • gemd_distance_matrix/lp_max/lp_min 注册为 buffer。
  • 权重键全匹配:missing=0, unexpected=0。

运行方法

python3 minimal_repro.py
python3 accuracy_eval.py
python3 benchmark.py
python3 stability.py
python3 inference.py

结果文件

  • results/accuracy_252.json / benchmark_252.json / stability_252.json / inference_results_252.json

三张真实终端截图

  • assets/agent_workflow.png / assets/npu_device_call.png / assets/model_result.png