OpenFold2.0 基于NPU的推理适配与测试

举报
AI4S_NPU 发表于 2025/06/15 02:07:15 2025/06/15
【摘要】 OpenFold是一种基于深度学习的蛋白质结构预测模型,广泛应用于蛋白质从头预测、功能位点解析、突变效应模拟等领域。该模型的核心目标是通过大规模预训练和多阶段优化,从氨基酸序列中高效、准确地推断蛋白质的三维结构。

环境搭建

#下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-aarch64.sh
chmod +x Anaconda3-2024.10-1-Linux-aarch64.sh #安装
bash Anaconda3-2024.10-1-Linux-aarch64.sh #设置环境变量
vim ~/.bashrc
export PATH=/home/openfold/anaconda3/bin:$PATH :wq
source ~/.bashrc
#创建 python3.9 环境,并激活环境
conda init
conda create -n openfold_env python=3.9
conda activate openfold_env
#配置 conda 的 lib 库
vim ~/.bashrc
export LD_LIBRARY_PATH=/home/openfold/anaconda3/lib:$LD_LIBRARY_PATH :wq
source ~/.bashrc

下载代码及安装依赖

#下载代码
cd /home/openfold
git clone https://gitee.com/ascend/ModelZoo-PyTorch.git
#安装依赖
cd /home/openfold/ModelZoo-PyTorch/PyTorch/built-in/others/OpenFold_for_PyTorch
pip3 install -r 2.1_requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
pip install git+https://github.com/NVIDIA/dllogger.git
pip install torch==2.1.0 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple #下载安装 torch_npu
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.0.1-pytorch2.1.0/torch_npu- 2.1.0.post11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pip3 install torch_npu-2.1.0.post11-cp39-cp39- manylinux_2_17_aarch64.manylinux2014_aarch64.whl
#安装其它依赖
conda install -c bioconda -c conda-forge hhsuite
conda install -c bioconda kalign2
conda install -c bioconda -c conda-forge mmseqs2
conda install -c conda-forge openmm=7.7.0
conda install -c conda-forge pdbfixer
#构建安装 openfold
bash scripts/install_third_party_dependencies.sh python setup.py install

数据集准备

#安装 aws
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip sudo ./aws/install #获取 pdb_mmcif 数据集 mkdir pdb_data
aws s3 cp s3://openfold/pdb_mmcif.zip pdb_data/ --no-sign-request #获取 duplicate_pdb_chains.txt
aws s3 cp s3://openfold/duplicate_pdb_chains.txt . --no-sign-request 解压 pdb_data
cd pdb_data
unzip pdb_mmcif.zip -d pdb_data
#下载参数
bash scripts/download_alphafold_params.sh openfold/resources
#修改 param 路径
vim /home/openfold/ModelZoo-PyTorch/PyTorch/built- in/others/OpenFold_for_PyTorch/examples/monomer/../../run_pretrained_openfold.py
line 490 改为:
"/home/openfold/ModelZoo-PyTorch/PyTorch/built-in/others/OpenFold_for_PyTorch/openfold", "resources", "params",
#修改 inference.sh
#修改数据集路径和 device
cd examples/monome
vim inference.sh
export MMCIF_DIR=../../pdb_data/mmcif_files/ --model_device "npu:0"

推理测试

#执行推理脚本 
bash inference.sh

报错与解决方法

1、报错 ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/openfold/anaconda3/envs/openfold_env/lib/python3.9/site- packages/numpy/fft/_pocketfft_umath.cpython-39-aarch64-linux-gnu.so)

#更新 numpy 版本
pip3 uninstall numpy
pip3 install numpy==1.24.0

2、报错 ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/openfold/anaconda3/envs/openfold_env/lib/python3.9/site- packages/scipy/spatial/_ckdtree.cpython-39-aarch64-linux-gnu.so)

pip3 uninstall scipy
pip install --no-binary :all: scipy

3、报错 aria2c: /home/openfold/anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.30’ not found (required by /home/openfold/anaconda3/envs/openfold_env/bin/…/lib/././libicuuc.so.75)

conda install -c conda-forge libstdcxx-ng=12.2.0

4、报错:There is no registered Platform called “CUDA” ValueError:Minimization failed after 100 attempts.

vim ../../openfold/np/relax/amber_minimize.py # 修改 use_gpu 为 False
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。