赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu + 自建 PyTorch MLP(Keras 权重转换) 硬件: Ascend 910B 系列(实测 Ascend910B4) 标签:
npuascendpytorchtransformers
| 属性 | 值 |
|---|---|
| 原始模型 | Genereux-akotenou/genomics-tf-prediction |
| 架构 | Keras Feedforward MLP(200→512→128→64→1,ReLU/Sigmoid) |
| 任务类型 | 基因转录因子(TF)结合位点预测(二分类) |
| 输入格式 | 200 维 DNA k-mer 特征向量 |
| 输出格式 | TF 结合概率(0-1) |
| 参数量 | ~120K(单个分类器) |
原仓库包含多组 TF(AP2/ARF/ARR-B/B3 等)× k-mer 尺寸(k2-k5)的分类器, 本适配以
Binary-Classifier/AP2/FEEDFORWARD_k2.keras为代表,inference.py 可指定任意分类器。
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/⚠️ 本仓库不包含模型权重(交付件仅
inference.py/readme.md/requirements.txt/assets/), 推理前必须先从原始模型仓单独下载权重(.keras分类器文件)。
# 1. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/Genereux-akotenou/genomics-tf-prediction.git .
git lfs pull
# 2. 运行 NPU 推理(默认 AP2/FEEDFORWARD_k2 分类器 + 示例 k-mer 特征)
python3 inference.py --model_path . --device npu:0
# 指定其他分类器
python3 inference.py --model_path . --keras "Binary-Classifier/ARF/FEEDFORWARD_k3.keras" --device npu:0python3 inference.py --model_path . --device npu:0预期输出:
[Model Agent] ✅ NPU 设备就绪: Ascend910B4
[Model Agent] ✅ 模型加载完成 → npu:0 (Binary-Classifier/AP2/FEEDFORWARD_k2.keras)
[Model Agent] 📊 输入特征: 200 维
[Model Agent] ✅ 推理完成 → 结合概率 0.5000, 耗时 159 ms
[Model Agent] 📈 判定: 不结合
[Model Agent] ✅ 结果已保存 → inference_result.json.
├── inference.py # NPU 推理脚本
├── readme.md # 本文件
├── requirements.txt # 依赖清单
└── assets/ # 截图素材本模型由 昇腾 Model Agent 自动完成 NPU 适配。
genomics-tf-prediction(Keras TF 结合分类器集合)迁移至昇腾 NPU:
inference.py 自动解压 .keras(ZIP)读取架构配置与权重,将 Sequential Dense 网络重建为等价的 PyTorch MLP 并加载权重(Keras [in,out] → PyTorch [out,in]);torch_npu 完成设备初始化,sigmoid 输出 TF 结合概率;--keras 指定仓库中任意 TF/k-mer 分类器。