Skip to content

Releases: MDIL-SNU/SevenNet

v0.11.0

17 Mar 05:19
245920c
Compare
Choose a tag to compare

The official release of v0.11.0 includes a multi-fidelity learning feature and new pre-trained models (7net-MF-ompa, 7net-omat)

CHANGELOG.md

What's Changed

New Contributors

Full Changelog: v0.10.4...v0.11.0

v0.11.0-checkpoint

16 Mar 05:01
e3156f3
Compare
Choose a tag to compare
v0.11.0-checkpoint Pre-release
Pre-release

Release for model checkpoints. Official v0.11.0 will be released soon.

  1. SevenNet-MF-ompa
  2. SevenNet-omat

v0.11.0-alpha

30 Jan 15:54
1105a6f
Compare
Choose a tag to compare
v0.11.0-alpha Pre-release
Pre-release

Pre-release of multi modal feature.

[0.11.0]

Added

  • Build multi-fidelity model, SevenNet-MF, based on given modality in the yaml
  • Modality support for sevenn_inference, sevenn_get_modal, and SevenNetCalculator
  • [cli] sevenn_cp tool for checkpoint summary, input generation, multi-modal routines
  • Modality append / assign using sevenn_cp
  • Loss weighting for energy, force and stress for corresponding data label
  • Ignore unlabelled data when calculating loss. (e.g. stress data for non-pbc structure)
  • Dict style dataset input for multi-modal and data-weight
  • (experimental) cuEquivariance support

Added (code)

  • sevenn.train.modal_dataset SevenNetMultiModalDataset
  • sevenn.scripts.backward_compatibility.py
  • sevenn.checkpoint.py

Changed

  • Sort instructions of tensor product in convolution (+ fix flipped w3j coeff of old model)
  • Lazy initialization for IrrepsLinear and SelfConnection*
  • Checkpoint things using sevenn/checkpoint.py
  • e3nn >= 0.5.0, to ensure changed CG coeff later on
  • pandas as dependency

Fixed

  • More refactor for shift scale things + few bug fixes
  • Correctly shuffle training set when distributed training is enabled

What's Changed

New Contributors

Full Changelog: v0.10.4...v0.11.0-alpha

v0.10.4

30 Jan 15:14
865e5ca
Compare
Choose a tag to compare

Important: last version that allows e3nn < 0.5.0

[0.10.4]

Added

  • feats: D3 calculator

Fixed

  • bug: info dict sharing (therefore energy stress) when structure_list used
  • torch >= 2.5.0 works
  • numpy >= 2.0 works (need more testing)

Changed

  • sevennet_calculator.py => calculator
  • fine tunine preset to use original loss function (Huber) and loss weights

What's Changed

Full Changelog: v0.10.3...v0.10.4

v0.10.3

16 Dec 01:43
e3a2bf4
Compare
Choose a tag to compare

[0.10.3]

Matbench
Our new model SevenNet-l3i5 is now available.

Added

  • SevenNet-l3i5, checkpoint, preset. (keywords: 7net-l3i5, sevennet-l3i5)

Changed

  • Fast --help (do not import torch)
  • README refined

What's Changed

New Contributors

Full Changelog: v0.10.2...v0.10.3

v0.10.2

07 Dec 07:13
f981b7c
Compare
Choose a tag to compare

[0.10.2]

Added

  • Accelerated graph build routine if matscipy is installed @hexagonerose
  • matscipy vs. ase neighborlist unit test
  • If valid set is not given but data_divide_ratio is given, validaset is created using random split. (shift, scale, and conv_denoiminator uses original whole statistics)

Changed

  • matscipy is included as a dependency
  • data_divide_ration defaults to 0.0 (meaning not used)

Fixed

  • For torch version >= 2.4.0, Loading graph dataset no more raises warnings.
  • Raise error when unknown element is found (SevenNetCalculator)

What's Changed

New Contributors

Full Changelog: v0.10.1...v0.10.2

v0.10.1

07 Nov 04:41
32e1357
Compare
Choose a tag to compare

[0.10.1]

Added

  • experimental SevenNetAtomsDataset which is memory efficient, can be enabled with dataset_type='atoms'
  • Save meta data & statistics when the SevenNetGraphDataset saves its data.

Changed

  • Save checkpoint_0.pth (model before any training)
  • SevenNetGraphDataset._file_to_graph_list -> SevenNetGraphDataset.file_to_graph_list
  • Refactoring SevenNetGraphDataset, skips computing statistics if it is loaded, more detailed logging
  • Prefer use .get when accessing config dict

Fixed

  • Fix error when loading SevenNetGraphDataset with other types of data (ex: extxyz) in one dataset

Full Changelog: v0.10.0...v0.10.1

What's Changed

v0.10.0

22 Oct 02:02
326a78d
Compare
Choose a tag to compare

[0.10.0]

SevenNet now has CI workflows and its python coverage is 78%!
Substantial changes in command-line apps and their outputs.
Previous functionalities are still accessible with correct flags (sevenn -m train_v1 ... , sevennet_graph_build --legacy ...)

Added

  • sevenn_preset for below changes
  • [train_v2]: train_v2, with lots of refactoring, support load_testset_path.
  • [train_v2]: SevenNetGraphDataset replaces old AtomGrpahDataset, which extends InMemoryDataset of PyG.
  • [train_v2]: sevenn_graph_build for SevenNetGraphDataset.
  • [train_v2]: Any additional datasets will be evaluated and recorded if it is given as 'load_{NAME}set_path' key.
  • Univ keyword for chemical_species
  • More options: energy_key, force_key, stress_key for sevenn_graph_build, than ase.calculator @thangckt
  • OpenMPI distributed training @thangckt

Changed

  • Some cumbersome things(type_map, requires_grad ), that hurt readability, are now hidden inside AtomGraphSequential.
  • log.sevenn and lc.csv automatically find a safe filename (log0.sevenn, log1.sevenn, ...) to avoid overwriting.
  • [train_v2]: train_v2 loads its training set via load_trainset_path, rather than previous load_dataset_path.
  • [train_v2]: log.csv -> lc.csv, and columns have no units, (easier to postprocess with it) but still on log.sevenn.
  • [train_v2]: Train valid split by ratio is temporarily removed
  • Previous presets are renamed with _v1 suffix

Fixed

  • [e3gnn_serial]: can continue simulation even when atom tag becomes not consecutive (removing atom dynamically), @gasplant64
  • [e3gnn_parallel]: undefined behavior when there is no atoms to send/recv (for non pbc system)
  • [e3gnn_parallel]: incorrect force/stress in some edge cases (too small simulation cell & 2 process)
  • [e3gnn_parallel]: revert commit 14851ef, now e3gnn_parallel is sane.
  • [e3gnn_*]: += instead of = when saving virial stress and forces @gasplant64
  • Now Logger correctly closes a file.
  • ... and lots of small bugs I found during writing pytest.

New Contributors

v0.9.3

26 Jul 01:40
6d00fc7
Compare
Choose a tag to compare
v0.9.3 Pre-release
Pre-release

Warning: This release has a serious bug in LAMMPS parallel. Please use v0.9.3.post1 in the 'tags', or use pip install.

SevenNet is released to PyPI, project is managed using pyproject.toml, not setup.py

  • PyPI release + docs
  • torch_scatter dependency removed
  • torch_geometric dependency added to the pyproject.toml

Features:

  • sevenn_preset for basic training yaml files
  • sevenn_patch_lammps for easier installation
  • keyword input for pre-trained models: continue, sevenn_get_model, sevennet_calculator

Bugfix:

  • C++17 for torch version > 2.0

Known bug:

  • In training yaml, scale: 'elemwise_force_rms' is broken. Fixed in github, but not in pip.

The last snapshot of XPLOR cutoff bug

29 Apr 08:15
ca86269
Compare
Choose a tag to compare
Pre-release

The last snapshot of SevenNet has XPLOR cutoff bug and wrong SevenNet-0 potential.