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.4444 下载模型源码

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.4.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.4-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deepchem_ascend-0.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 f9590985f47dddcd8a8a37cf8392cfeff050737cacf39c226a8796d80f37d428
MD5 1c953fa1895489c1497f326a88cd6fd5
BLAKE2b-256 56e2e71741471bab401d5e1a2d9bf12ae4fe5fb591be46da7160246529d14103

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deepchem_ascend-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 52ee90d133617cf3ce816d9ac6793ea4eb3b44fde27160353d3dd1a2673f3b7e
MD5 d7bcd83f456068d03e6012236d2b7f02
BLAKE2b-256 724f587eb17abce209a272938056179ef34d4314ff5fd381ab9b156723112c0b

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