ABACUS 专题

ABACUS:DeePTB与DeepH个人环境

固定软件源码与依赖,在个人目录分别准备两种机器学习哈密顿量环境。

更新于 2026-11-12约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

DeePTB、DeepH学习的是电子结构哈密顿量,不是分子动力学中的原子间势。本组教程从ABACUS矩阵标签出发,分别训练两个框架,再用没有参加训练的结构预测能带。

先在个人目录准备本页环境,再读标签生成、DeePTB训练预测和DeepH训练预测。已有参考数据和模型,想先看结果可以直接进入后两篇。

下载个人环境脚本。

1. 软件版本与准备方式#

部分 DeePTB DeepH
固定源码 597a0361开发快照 原版DeepH-pack 0.2.2,141faaab
Python / PyTorch 3.11 / 2.8.0+cu126 3.11 / 2.8.0+cu126
PyG 2.8.1 2.4.0
e3nn 0.5.8 0.4.4
GPU计算示例 P100 16G,单卡 V100 16G,单卡

共享的MACE Python环境仅提供基础Python、PyTorch及已有数值库,额外依赖放入自己的toolchain/python-*。两种框架不能在同一Python进程内混合导入。DeePTB源码优先于安装目录,可以保留其Jd.pt等资源;此处源码快照不是正式发布的DeePTB 2.2.1。

独立环境组成

unzip abacus-ml-env-wave693-*.zip
cd abacus-ml-env
bash prepare.sh
bash install.sh

prepare.sh下载两个固定commit的源码并检查SHA256;install.sh按带哈希的wheel清单安装到个人目录,再安装这两个本地源码包。文件较大的主要是DeePTB源代码,下载完成后可重复使用。不要用sudo pip。

脚本使用已有CUDA版PyTorch,无须重新编译ABACUS或CUDA。固定wheel适用于本例Linux x86_64、CPython3.11、Torch2.8/cu126;换PyTorch版本时,需要对应的torch-scatter wheel,不能沿用不匹配的二进制扩展。

2. 打开DeePTB环境#

在一个新的终端中:

cd abacus-ml-env
source deeptb_env.sh
"$PYTHON_FOR_ML" -m dptb --help

主命令包含data数据转换、train训练、test测试和run后处理。本组示例使用官方数据转换及训练入口,预测脚本调用其原生模型和电子结构接口,并输出普通CSV方便画图。

3. 打开DeepH环境#

另开一个终端:

cd abacus-ml-env
source deeph_env.sh

DeepH原版的训练程序通过配套run_fixed.py启动。这个薄封装固定训练/验证/测试划分,适配PyG表格导出字段,并允许读取旧e3nn常量需要的slice类型;没有修改神经网络算法。

cd ../abacus-deeph
bash use-tools.sh ../abacus-ml-env ../abacus-ml-labels
bash prepare.sh

准备阶段只生成配置和图数据;sbatch train.slurm才开始训练。环境脚本保留Slurm分配的GPU可见范围。

4. 第一次建议怎样做#

先下载两篇训练教程的配套包,运行results.sh和plot.sh查看本集群实算参考。然后用自带模型运行predict.sh,确认理解H、S和能带的关系,最后再生成自己的DFT标签、训练自己的模型。

源码与方法:DeePTB固定源码、DeePTB E3示例、DeepH固定源码。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗