Skip to main content

Deep learning models for drug discovery, quantum chemistry, and the life sciences. The ascend + torch version.

Project description

1. 关于 deepchem-ascend

本项目基于开源deepchem,目标是让使用deepchem的模型能原生在昇腾上运行。当前受限于生态原因,deepchem社区暂时不接受对于ascend支持的代码修改合入,因此先在昇腾社区完成移植和独立版本发布,后续合入上游的deepchem代码仓。

所有开发工作将在develop分支以PR工作流形式运行,master分支仅用于和deepchem上游代码仓同步。

2. 准备运行环境

2.1 软件环境

组件 版本
Python 3.10.19
PyTorch 2.1.0
torch_npu 2.1.0.post13
CANN 8.1.RC1

2.2 硬件环境

设备型号 NPU 配置
Atlas 800T A2 单卡 / 多卡

2.3 准备镜像

镜像环境 镜像地址
公网 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.1.rc1-py_3.10-euler_2.10.11-aarch64-snt9b-20250603154214-4e60e43

2.4 启动镜像

IMAGE_ID=swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.1.rc1-py_3.10-euler_2.10.11-aarch64-snt9b-20250603154214-4e60e43
CONTAINER_NAME=deepchem-ascend
docker run -u root --privileged \
 --name ${CONTAINER_NAME} \
 --device /dev/davinci0 \
 --device /dev/davinci_manager \
 --device /dev/devmm_svm \
 --device /dev/hisi_hdc \
 -v /usr/local/dcmi:/usr/local/dcmi \
 -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
 -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
 -v /etc/ascend_install.info:/etc/ascend_install.info \
 -itd ${IMAGE_ID} /bin/bash

3 运行指导

3.1 创建环境

docker exec -it ${CONTAINER_NAME} bash
conda create -n deepchem --clone PyTorch-2.1.0
conda activate deepchem

3.2 安装依赖

pip install 'numpy>=1.19.2,<=1.24.0' scipy pandas scikit-learn rdkit sympy attrs pathlib2 psutil pyyaml protobuf decorator requests absl-py tqdm pytest flaky 'transformers>=4.28,<4.35'

3.3 迁移适配

直接安装deepchem-ascend二进制包,已基于适配代码重新编译成二进制包上传pypi

pip install deepchem-ascend==0.0.1

3.5 下载模型源码

git clone --branch develop https://gitcode.com/AI4Science/deepchem-ascend.git

4. 模型适配详情

当前模型适配策略以可运行为主要目标,精度和性能会在适配后按需进行调优。

模型 用途 框架适配 单卡 多卡 精度 性能 适配方法
Unet 用于图像分割的UNet模型,支持分类及回归任务 完成 已验证 未验证 未验证 未验证 NA
ChemBERTa Chemberta是一种基于SMILES字符串学习的Transformer风格模型。该模型架构基于RoBERTa架构设计,既可用于预训练生成嵌入表示,也可在下游应用中通过微调进行迁移学习。 完成 已验证 未验证 未验证 未验证 ChemBERTa
ChemCeption 利用卷积神经网络(CNN)的表示能力来预测分子性质。 完成 已验证 未验证 未验证 未验证 ChemCeption
TextCNNModel 基于SMILES字符串的卷积神经网络(CNN)用于分子性质预测。 完成 已验证 未验证 未验证 未验证 NA
DTNNModel 基于SMILES字符串的卷积神经网络(CNN)用于分子性质预测。 完成 已验证 未验证 未验证 未验证 DTNN
MATModel 基于 Transformer 注意力机制的分子性质预测模型。 完成 已验证 未验证 未验证 未验证 MATModel
DMPNNModel 基于消息传递神经网络(MPNN)的分子性质预测模型。 完成 已验证 未验证 未验证 未验证 DMPNN
GNNModular 基于模块化、可组合的图神经网络(GNN)建模框架可灵活构建适用于分子性质预测模型。 完成 已验证 未验证 未验证 未验证 GNNModular
progressiveMultitaskModel 渐进式多任务学习模型,通过分阶段训练共享主干与任务特定子网络,有效缓解任务冲突,提升分子多性质预测性能。 完成 已验证 未验证 未验证 未验证 progressiveMultitask
Grover 一种面向分子图的自监督预训练模型。它将消息传递机制(Message Passing)与Transformer 架构深度融合,通过在大规模无标签分子数据上执行结构感知的预训练任务,学习通用且富含化学语义的分子表示。 完成 已验证 未验证 未验证 未验证 NA
GANModel 一种由生成器和判别器组成的生成模型,两者通过对抗训练共同进化。 完成 已验证 未验证 未验证 未验证 NA
WGANModel 通过引入Wasserstein距离和权重裁剪机制改进的生成对抗网络。 完成 已验证 未验证 未验证 未验证 NA
MolGANModel 一种结合了对抗训练和强化学习的图生成模型,能够直接生成有效的分子图结构,并可根据特定的化学性质目标进行定向优化。 完成 已验证 未验证 未验证 未验证 NA
WeaveModel 一种通过weaving机制让原子和化学键特征相互感知,捕捉分子的局部几何与拓扑结构。 完成 已验证 未验证 未验证 未验证 NA
MoLFormer 一种利用线性注意力和旋转位置编码技术,在SMILES 序列上通过掩码语言建模预训练的大规模 Transformer 模型。 完成 已验证 未验证 未验证 未验证 NA
ProtBERT 基于BERT架构,当前实现仅支持掩码语言模型(MLM)预训练和分类模式。 完成 已验证 未验证 未验证 未验证 NA

后续我们会持续增加适配模型以及对应的样例notebook/代码。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepchem_ascend-0.0.3.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepchem_ascend-0.0.3-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file deepchem_ascend-0.0.3.tar.gz.

File metadata

  • Download URL: deepchem_ascend-0.0.3.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for deepchem_ascend-0.0.3.tar.gz
Algorithm Hash digest
SHA256 79d04a3fb325dc44025047cecbd9300c8a447a779f34010aff6853a89728325c
MD5 187174a8a0065988ac05842f7e645bec
BLAKE2b-256 7d2f92f51eb57745e073a0e28db657fa07f2ab63d5c2120aa4e2cf26b27e66ba

See more details on using hashes here.

File details

Details for the file deepchem_ascend-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for deepchem_ascend-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 34c987fe6a762daecb21640c8b8de7061981cd917a84e3bbc1dae77f8218975c
MD5 ddf1799a8fea948756745438088e0954
BLAKE2b-256 e9acf88da36db377e68bdebb997da34b30aaca4581ffd418a1c2fc3ffc28ebc6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page