eardoi/genomics-tf-prediction-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

genomics-tf-prediction 昇腾 NPU 适配

genomics-tf-prediction 是一套用于转录因子(Transcription Factor, TF)结合位点预测的模型集合。每个 TF 由 4 个 FEEDFORWARD MLP(k=2..5 变体)组成集成:输入 k-mer 特征,输出 TF 结合概率(sigmoid)。

本适配以 AP2 转录因子为代表:仓库共有 120 个 TF × 4 个变体(236 个 .keras 文件), 均采用相同的 FEEDFORWARD 架构。适配方法适用于所有 TF。

模型规格

项目值
模型Genereux-akotenou/genomics-tf-prediction
架构FEEDFORWARD MLP(Dense 512-128-64-1, sigmoid)
输入k-mer 特征(AP2: k2=200 维, k3-k5=1000 维)
输出TF 结合概率(0~1)
集成每个 TF 4 个变体(k2-k5)
格式Keras .keras(需转 PyTorch)

环境要求

  • 硬件:Ascend 910B 系列(≥1 卡)
  • CANN ≥ 8.0(source /usr/local/Ascend/ascend-toolkit/set_env.sh)
  • Python 3.10 – 3.11
  • torch 2.9.0 / torch_npu 2.9.0.post1
  • h5py

环境准备

export PIP_INDEX_URL=https://repo.huaweicloud.com/repository/pypi/simple/
pip install torch torch_npu h5py numpy

模型权重

模型权重(Keras .keras 文件)从 Hugging Face 获取:

export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download Genereux-akotenou/genomics-tf-prediction --local-dir model_src

推理

python3 inference.py --model_path . --tf AP2 --device npu:0

输出示例(AP2,64 个合成 k-mer 特征样本):

[info] converted FEEDFORWARD_k2.keras (input 200 dims, 1.06s)
[info] converted FEEDFORWARD_k3.keras (input 1000 dims, 0.02s)
[info] converted FEEDFORWARD_k4.keras (input 1000 dims, 0.02s)
[info] converted FEEDFORWARD_k5.keras (input 1000 dims, 0.02s)
[info] Inference complete (123.3 ms)
[result] FEEDFORWARD_k2.keras: pred mean=0.0625 pos_rate=0.0625
[result] FEEDFORWARD_k3.keras: pred mean=0.7031 pos_rate=0.7031
[result] FEEDFORWARD_k4.keras: pred mean=1.0000 pos_rate=1.0000
[result] FEEDFORWARD_k5.keras: pred mean=1.0000 pos_rate=1.0000
[result] ensemble: pos_rate=0.7188
[info] device proof: model on npu:0

验证结果

  • 设备:Ascend 910B(npu:0)
  • 推理:✅ 通过(完成 Keras→PyTorch 权重转换后,前向传播在 npu:0 上执行,输出为有限值)
  • 验证日期:2026-08-22

适配说明

  • 仓库中的模型为 Keras .keras 格式(zip 内包含 config.json 与 model.weights.h5)。
  • 本次适配会在加载时转换为 PyTorch(FeedForward MLP,并逐层复制权重),转换后的全部计算均运行于 npu:0。
  • 每个模型的输入维度均从 Keras config 的 batch_shape 中读取(AP2: k2=200, k3-k5=1000)。

目录结构

├── inference.py            # NPU 推理脚本(Keras→PyTorch 转换 + 前向)
├── Binary-Classifier/AP2/  # AP2 的 4 个 Keras 模型(不推送)
├── README.md               # 本模型卡片
└── assets/                 # 截图素材

引用

Genereux-akotenou/genomics-tf-prediction — TF binding site prediction
https://huggingface.co/Genereux-akotenou/genomics-tf-prediction