首页
/ 【亲测免费】 SchNetPack开源项目教程

【亲测免费】 SchNetPack开源项目教程

2026-01-23 04:34:22作者:房伟宁

1. 项目介绍

SchNetPack是一个用于开发和应用深度神经网络以预测分子和材料的势能表面及其他量子化学性质的工具箱。它包含了原子级神经网络的基块,管理其训练,并提供对常见基准数据集的简单访问。这使得新模型的实现和评估变得容易。

主要特性:

  • SchNet:用于分子和材料的端到端连续滤波CNN。
  • PaiNN:用于分子和材料的等变消息传递。
  • 输出模块:偶极矩、极化率、应力及一般响应性质。
  • 模块:静电、Ewald求和、ZBL排斥。
  • GPU加速的分子动力学代码,包括路径积分MD、热浴、压浴。

2. 项目快速启动

安装

使用pip安装

pip install schnetpack

从源码安装

git clone https://github.com/atomistic-machine-learning/schnetpack.git
cd schnetpack
pip install .

开始训练模型

创建工作目录

mkdir spk_workdir
cd spk_workdir

训练SchNet模型(以QM9数据集为例)

spktrain experiment=qm9_atomwise

自定义配置

spktrain experiment=qm9_atomwise run=data_dir=/my/data/dir run=path=~/all_my_runs run=id=this_run

更改模型表示(例如使用PaiNN)

spktrain experiment=qm9_atomwise run=data_dir=<path> model/representation=painn

3. 应用案例和最佳实践

案例1:QM9数据集

通过命令行接口(CLI)训练SchNet模型,适用于其他基准数据集。

案例2:势能表面预测

使用AtomisticModel预测势能表面,包括能量、力和应力张量。

训练MD17数据集模型

spktrain experiment=md17 data=molecule=uracil

设置损失权重

spktrain experiment=md17 data=molecule=uracil task(outputs.0.loss_weight)=0.005 task(outputs.1.loss_weight)=0.995

日志记录

默认使用Tensorboard日志记录,结果查看:

tensorboard --logdir=<rundir>

LAMMPS接口

SchNetPack提供LAMMPS接口,详细安装指南见官方文档。

4. 典型生态项目

  • schnetpack-gschnet:用于cG-SchNet的最新版本,一个条件生成模型,适用于分子。

通过以上步骤和案例,您可以快速上手并利用SchNetPack进行分子和材料性质的预测和研究。更多详细内容和高级功能,请参考官方文档。

登录后查看全文
热门项目推荐
相关项目推荐