|
1 | 1 | # BOTNet |
2 | 2 |
|
3 | 3 | Implementation of a set of interatomic potentials in the design space of equivariant message passing. (very badly said). |
| 4 | + |
| 5 | + |
| 6 | +## Installation |
| 7 | + |
| 8 | +To install the dependencies on cpu run following line, |
| 9 | + |
| 10 | +```bash |
| 11 | +sbatch ./scripts/setup_env.sh |
| 12 | +``` |
| 13 | +For cuda depdencies, edit the second line of the file from "CUDA"=cpu to the prefered version of cuda (eg. cu102). |
| 14 | + |
| 15 | +## Experiments |
| 16 | + |
| 17 | +All the experiments of the paper can be reproduced from the command line using the parser script. We first give a detail example on how to train a BOTNet on 3BPA configurations at 300K : |
| 18 | + |
| 19 | +```bash |
| 20 | +# Run command |
| 21 | +python3 ./botnet-main/scripts/run_train.py \ |
| 22 | + --dataset="3bpa" \ #Select the dataset (choices 3bpa, acac, ethanol, iso17, md17) |
| 23 | + --subset="train_300K" \ #Select the training file {subset}.xyz |
| 24 | + --seed=2 \ |
| 25 | + --model="scale_shift_non_linear" \ #Select the type of model to use |
| 26 | + --device=cuda \ |
| 27 | + --max_num_epochs=3000 \ |
| 28 | + --patience=256 \ #Number of increasing loss before stopping training |
| 29 | + --name="Botnet_3BPA" \ |
| 30 | + --energy_weight=27.0 \ #Weight of the energy in the loss (recommanded equal to the average number of atoms in the training set) |
| 31 | + --forces_weight=729.0 \ #Weight of the forces in the loss (recommanded to the square of the number of atoms in the training set). |
| 32 | + --hidden_irreps='80x0o + 80x0e + 80x1o + 80x1e + 80x2o + 80x2e + 80x3o + 80x3e' \ #The irreducible representations of hidden features in the network |
| 33 | + --batch_size=5 \ |
| 34 | + --interaction_first="AgnosticNonlinearInteractionBlock" \ #The type of interaction to use at the first layer |
| 35 | + --interaction="AgnosticResidualNonlinearInteractionBlock" \ #The type of interaction to use for all the subsequent layers |
| 36 | + --ema \ # Enables the exponential moving average |
| 37 | + --ema_decay=0.99 \ # Exponential moving average decay rate |
| 38 | + --scaling='rms_forces_scaling' \ #Type of normalization to apply |
| 39 | + --weight_decay=0.0 \ #Weight decay, recommanded to keep at 0 |
| 40 | + --restart_latest \ |
| 41 | +``` |
| 42 | + |
| 43 | + |
| 44 | +## Contacts |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | +Gregor Simm: |
| 49 | + |
0 commit comments