-
运行
read-split.py
- 该步骤会处理数据文件,并进行数据拆分。
-
运行
read-input.py
- 该步骤将处理输入数据,并进行必要的数据准备。
-
运行
read-treat.py
- 该步骤将执行统一数据大小。
-
运行
train-force-e3.py
- 该步骤用于训练模型。
此项目运行所需的 Python 库及其安装命令如下:
-
numpy: 用于高效的数值计算,特别是处理数组。
- 安装命令:
pip install numpy
- 安装命令:
-
pandas: 用于数据处理和分析,尤其是操作数据框(DataFrame)。
- 安装命令:
pip install pandas
- 安装命令:
-
pytorch ≥2.4.1 with CUDA ≥12.2: 用于深度学习训练和模型构建,CUDA 用于加速计算。
- 安装命令:
- 对于有 CUDA 支持的版本,可以使用如下命令安装:
pip install torch==2.4.1+cu12.2 torchvision==0.15.1+cu12.2 torchaudio==2.4.1+cu12.2
- 如果没有 CUDA 支持,直接安装 PyTorch:
pip install torch==2.4.1
- 对于有 CUDA 支持的版本,可以使用如下命令安装:
- 安装命令:
-
torch_scatter: 用于在图神经网络中进行散射操作的库,支持稀疏张量操作。
- 安装命令:
pip install torch-scatter
- 安装命令:
-
e3nn: 用于处理图形卷积神经网络中的对称性操作,专门用于处理对称张量、群表示和等变神经网络。
- 安装命令:
pip install e3nn
- 安装命令:
-
torch.utils.tensorboard: 用于在训练过程中记录日志并可视化模型训练过程。
- 安装命令:
pip install tensorboard
- 安装命令:
-
scikit-learn: 提供常用的机器学习工具,如数据预处理和模型评估等。
- 安装命令:
pip install scikit-learn
- 安装命令:
-
torch.amp (Automatic Mixed Precision): 提供混合精度训练,帮助提高训练速度。
- 已包含在 PyTorch 安装包中,无需单独安装。
- 在训练时,请勿一开始开启混合精度训练功能,因为数值可能会不稳定,导致梯度消失。建议先进行一些初步训练后再启用混合精度训练。
read-split.py
和 read-input.py
是两个用于数据处理的脚本,用户无需手动将笛卡尔坐标转换为广义坐标。然而,对于用户提供的原始文件格式,我们有一定的要求。请参考我们提供的 data.csv
文件格式。
40
……energy=-29654.71595871336 pbc="F F F"
C 4.65116481 -0.87536020 -0.95341924 -0.00226694 -0.00099080 -0.00055906 6
C 4.52871416 0.49243101 -0.68728938 0.00005086 0.00149402 -0.00094421 6
C 3.26602428 1.06821027 -0.44491504 -0.00220344 -0.00100710 0.00046995 6
C 2.10756895 0.23795426 -0.46852147 0.00088549 0.00012105 -0.00051350 6
……
- 编码格式:文件应使用 UTF-8 编码。
- 多帧结构:多个分子结构应保存在同一个文件中,不同的结构之间通过表头区分。每个结构的表头应包含类似
energy=xxxxxx
的字符串,用于提取该结构的能量。 - 坐标内容:文件应包含 8 列数据,具体格式如下:
- 原子名称(如 C、H、O、N 等)
- 笛卡尔坐标:每个原子的 x、y、z 坐标。
- 原子受力:每个原子在 x、y、z 方向的受力值。
- 原子序号:每个原子的序号(如 6、1、8、7 等)。
请确保输入文件符合上述格式要求,便于数据处理和广义坐标转换。