Introduction

this project is to predict xc potential from electron density.

Usage

prepare dataset

python3 create_dataset_torch.py --output dataset
param description
dataset path to directory containing npy files

training

torchrun --nproc_per_node <data/parallelism/number> --nnodes 1 --node_rank 0 --master_addr localhost --master_port <port num> train_torch.py --trainset <path/to/trainset/csv> --evalset <path/to/evalset/csv> [--ckpt <path/to/checkpoint>] [--batch_size <batch size>] [--lr <learning rate>] [--workers <number of workers>] [--device (cpu|cuda)]
param description
dataset path to directory containing npz files
ckpt path to directory to hold checkpoints, default path is ./ckpt
batch_size batch size
lr the initial learning rate
workers number of workers for data loader
device cpu or cuda

evaluation

python3 eval.py --evalset <path/to/evalset/list> --ckpt <path/to/checkpoint>

visualize prediction of Exc and Vxc on x-axis

generate dataset with coordinates

python3 tools/generate_evalset.py --eval_dist <bond distance> [--output evalset.npy]

plot prediction of Exc and Vxc on x-axis

PYTHONPATH=. python3 tools/visualize.py --input <path/to/evalset.npy> --ckpt <path/to/checkpoint>