SuperAPI AI 工具集

ai-for-science-oligoformer

智能体与模型

查看项目

更新于 10-15 17:19

技能介绍

用途:将 OligoFormer(siRNA 效能预测模型)从 CUDA 迁移到昇腾 NPU,项目地址 https://github.com/lulab/OligoFormer.git。

前置条件:Ascend910 系列至少 1 卡;openEuler/Ubuntu/KylinOS(aarch64 或 x86_64);CANN ≥ 8.0(推荐 8.2+ 或 8.3.RC1);Python 3.10(原项目 3.8,因 torch 2.5.1 不支持而升级);PyTorch 2.5.1;torch_npu 2.5.1;已安装 conda。

主要流程:1) 配置 CANN 环境并验证 NPU:source /home/Ascend/ascend-toolkit/set_env.sh、npu-smi info;2) 克隆仓库;3) 创建 conda 环境并安装 torch、torch_npu 及依赖;4) 下载并解压 RNA-FM(含预训练权重);5) 验证 torch_npu 可用;6) 代码适配:在 scripts/main.py 顶部注入 import torch_npu 与 from torch_npu.contrib import transfer_to_npu,在 train.py、test.py、test_single.py、train_single.py 中追加 ASCEND_RT_VISIBLE_DEVICES,并调整 RNA-FM 脚本的 CANN 环境与 conda Python 路径;7) 推理验证:python scripts/main.py --infer 1 -i1 data/example.fa,通过标准为正常退出、result/ 生成结果文件且 efficacy 列非空;8) 可选训练:先 bash scripts/RNA-FM-features.sh 生成特征,再执行训练命令。

适配特点:纯 PyTorch 项目,无 .cu 文件与 CUDA 特有第三方库,无分布式与 AMP,CUDA 使用简单,transfer_to_npu 可覆盖全部 CUDA API。

限制与注意:Ascend910 不支持 fp64,torch_npu 自动降级为 fp32,可能出现 warning;RNA-FM 的 setup.py 依赖版本过旧需放宽约束;Shell 脚本中 python 需指向 conda 环境。修改文件清单与配套预检脚本 python scripts/validate_oligoformer_env.py --rna-fm-path /path/to/RNA-FM 见资料。