hdk: 25.5.0
cann:8.3.RC1
python:3.11
torch:2.5.1
torch_npu:2.5.1git clone https://atomgit.com/AI4Science/Boltz-1.git
cd Boltz-1conda create -n Boltz-1 python=3.11 -y
conda activate Boltz-1# 临时使用华为镜像源安装 PyPI 包
export PIP_INDEX_URL=https://repo.huaweicloud.com/repository/pypi/simple
export PIP_TRUSTED_HOST=repo.huaweicloud.com
# 安装项目基础依赖包
pip install torch==2.5.1 torch_npu==2.5.1 pyyaml numpy decorator attrs psutil scipypython3 -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')若报错,排查顺序:
pip install boltzvi /root/miniconda3/envs/Boltz-1/lib/python3.11/site-packages/boltz/main.py
import torch_npu
from torch_npu.contrib import transfer_to_npuvi /root/miniconda3/envs/Boltz-1/lib/python3.11/site-packages/lightning_fabric/accelerators/cuda.py
找到_is_ampere_or_later函数,注销原始代码,直接返回True,保存退出。vi /root/miniconda3/envs/Boltz-1/lib/python3.11/site-packages/boltz/model/models/boltz1.py
# 找到268行附近,修改setup函数如下:
def setup(self, stage: str) -> None:
"""Set the model for training, validation and inference."""
if stage == "predict" and not (
torch.cuda.is_available()
and False # 直接让条件不成立,适配NPU环境
):
self.use_kernels = Falsemkdir ~/.boltz
# 下载huggingface上的所有文件,放到~/.boltz/下
https://huggingface.co/boltz-community/boltz-1/tree/mainsource /usr/local/Ascend/ascend-toolkit/set_env.sh
# 指定可见 NPU 卡(0,1,2,3)
export ASCEND_RT_VISIBLE_DEVICES=0
# NPU 性能优化
export CPU_AFFINITY_CONF=1
export TASK_QUEUE_ENABLE=2boltz predict ./examples/affinity.yaml --model boltz1 --devices 1 --out_dir ./boltz_output --num_workers 0 已预置 Conda 运行环境、模型权重、Boltz-1 源码,开箱即用,可快速部署运行。
# 拉取镜像
sudo docker pull swr.cn-north-4.myhuaweicloud.com/ascend_ai4s/boltz1:v2