Releases: ecrl/graphchem
Releases · ecrl/graphchem
Update type hints
Update version
Version bump: 2.2.0
-> 2.3.1
MoleculeGCN updates
- add option to omit
MoleculeGCN
readout layer(s) - add option to specify
MoleculeGCN
activation function - add comments throughout
MoleculeGCN
Various improvements
- better handling of target variable tensors with varying shapes
- add
.gitignore
- updates to docstrings, type hints
- add unit tests
- updates to example notebooks
- update dependency versions
- version bump:
2.1.4
->2.2.0
Update dependencies
numpy==1.26.4
Update dependencies, add MANIFEST.in
- updates PyTorch to 2.4.0
- adds MANIFEST.in for including CSV datasets with GraphChem
- bump version to 2.1.3
Update install method, PyPI GitHub actions workflow, encoder saving/loading
graphchem.preprocessing.MoleculeEncoder
how has thesave
andload
methodsgraphchem.preprocessing.load_encoder
allows users to load pre-saved MoleculeEncoder objects- Build/installation now relies on
pyproject.toml
instead of the deprecatedsetup.py
- Added a GitHub action workflow to publish GraphChem to PyPI whenever a new version is published
2.1.1
2.1.0
- New method for atom/bond tokenizing (integer tokens, passed through torch.nn.Embedding layer at start of model)
- Removed GRU and scatter add functions, leads to faster and more accurate results
- Changed MFConv to GeneralConv (GeneralConv considers both atom and bond features during its message passing step)
- General flow for each message passing step is:
- embedded_bonds -> EdgeConv -> updated embedded_bonds
- embedded_atoms + embedded_bonds -> GeneralConv -> updated embedded_atoms
- Separate edge/node convolutions, where node convolutions also account for updated edge states, is used effectively by Jørgensen et al. (paper)
- General flow for each message passing step is:
- Updated/added examples
2.0.0
This update overhauls GraphChem. The goal was to make GraphChem more "Torchy" in nature - for example, removing the CompoundOperator and giving control of training back to the user.
While this reduces the base functionality of GraphChem, ultimately its new construction is more modular and will play nicer with PyTorch.