AI4S/OligoFormer
模型介绍文件和版本Pull Requests讨论分析

组件版本说明

hdk: 25.5.0
cann: 8.3.RC1
python: 3.10
torch: 2.6.0
torch-npu: 2.6.0

拉取模型代码

git clone https://atomgit.com/AI4Science/OligoFormer.git
cd OligoFormer

环境准备

1. 新建 conda 环境

conda create --name OligoFormer python=3.10 -y
conda activate OligoFormer

2. 安装依赖

# 临时使用华为镜像源安装 PyPI 包
export PIP_INDEX_URL=https://repo.huaweicloud.com/repository/pypi/simple
export PIP_TRUSTED_HOST=repo.huaweicloud.com

# 安装项目基础依赖包
pip install -r requirements.txt

# 安装 torch_npu 运行所需的常见依赖包
# 若运行时出现 ModuleNotFoundError/ImportError 等报错,需执行此命令补全依赖
pip install decorator attrs psutil absl-py cloudpickle ml-dtypes scipy tornado

3. 验证 PyTorch 与 torch_npu 安装

执行以下命令检查安装是否成功:

python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"

若输出类似以下信息,说明安装成功:

tensor([[-0.6066,  6.3385,  0.0379,  3.3356],
        [ 2.9243,  3.3134, -1.5465,  0.1916],
        [-2.1807,  0.2008, -1.1431,  2.1523]], device='npu:0')

若报错,排查顺序:

  • set_env.sh 是否已 source
  • decorator 等运行时依赖是否安装
  • CANN 与 torch_npu 版本是否匹配

导入 RNA-FM 模型

#解压RNA-FM.tar.gz
tar -zxf RNA-FM.tar.gz

NPU 运行环境配置

# 指定可见 NPU 卡(0,1,2,3)
export ASCEND_RT_VISIBLE_DEVICES=0

# NPU 性能优化
export CPU_AFFINITY_CONF=1
export TASK_QUEUE_ENABLE=2

高性能内存库替换(可选)

# 安装 gperftools
yum install gperftools gperftools-devel -y

# 确认 tcmalloc 动态库路径
rpm -ql gperftools-libs

# 设置 tcmalloc 为优先加载(路径替换为上一步获取的实际路径)
export LD_PRELOAD="${LD_PRELOAD}:/usr/local/lib/libtcmalloc.so"

训练

# 在 V100 GPU 上约需 60 分钟,在昇腾 NPU 上可调整 batch_size 适配
python scripts/main.py --datasets Hu Mix --cuda 0 --learning_rate 0.0001 --batch_size 16 --epoch 200 --early_stopping 30

预测

python scripts/main.py --infer 1 -i1 data/example.fa

Docker镜像

已预置 Conda 运行环境、模型权重、OligoFormer 源码,开箱即用,可快速部署运行。

# 拉取镜像
sudo docker pull swr.cn-north-4.myhuaweicloud.com/ascend_ai4s/oligoformer:v1
  • 项目源码路径:/root/Oligoformer/
  • 已配置好 Conda 虚拟环境
  • 已内置模型权重文件,无需额外下载