Releases: coleygroup/shepherd
Releases · coleygroup/shepherd
ShEPhERD v0.2.4
What's Changed
v0.2.4: Model loading and repository optimization
- Added automatic model downloading from HuggingFace Hub with
load_model(),get_model_info(), andclear_model_cache()functions - Removed model weights from git history to reduce repository size - users should re-clone the repository
- Added ability for interrupting inference with improved UI to Streamlit app
v0.2.3: Add Streamlit app for demonstrations
- Added an easy-to-use app for demonstration purposes
v0.2.2: Refresh inference code
- Refactored ShEPhERD inference code to be more modular (backwards compatible).
- The original inference code can still be imported:
from shepherd.inference import inference_sample - New inference functions can be imported with:
from shepherd.inference import generatefrom shepherd.inference import generate_from_intermediate_time
- The original inference code can still be imported:
- Inference now supports atom and bond inpainting
generateis updated to allow atom inpainting from t=Tgenerate_from_intermediate_timeis specialized to allow atom inpainting from an intermediate time (T ≤ t < 0)
- Inference can store full diffusion trajectories by setting
return_trajectories=Trueduring sampling. shepherd.extract- Added
remove_side_groups_with_geometry - Added
remove_overlapsto quickly filter sampled molecules that use atom-inpainting.
- Added
Full Changelog: v0.2.0...v0.2.4
ShEPhERD v0.2.0: Refactor
Refactoring to support PyTorch >= v2.5.1
Merged from #11
- Refactored ShEPhERD as a package
- Updated import statements: throughout repo to import directly from
shepherdassuming local install. - Fix depreciation warnings:
torch.load()->torch.load(weights_only=True)@torch.cuda.amp.autocast(enabled=False)->@torch.amp.autocast('cuda', enabled=False)
- Training scripts
- Updated
src/shepherd/datasets.pyfor higher versions of PyG. Required changes to the batching functionality for edges (still backwards compatible). - Slight changes to
training/train.pyfor upgraded versions of PyTorch Lightning.
- Updated
- Updated import statements: throughout repo to import directly from
- Model checkpoints have been UPDATED for PyTorch Lightning v2.5.1
- The original checkpoints for PyTorch Lightning v1.2 can be found in previous commits (
c3d5ec0or before), the original publication Release, or at the Dropbox data link: https://www.dropbox.com/scl/fo/rgn33g9kwthnjt27bsc3m/ADGt-CplyEXSU7u5MKc0aTo?rlkey=fhi74vkktpoj1irl84ehnw95h&e=1&st=wn46d6o2&dl=0
- The original checkpoints for PyTorch Lightning v1.2 can be found in previous commits (
- Created a basic unconditional generation test script
- Updated the environment and relevant files to be compatible with PyTorch >= v2.5.1
- Bug fix for
shepherd.datasets.HeteroDataset.__getitem__where x3 point extraction should useget_x2_data
Additional notes
Thank you to Matthew Cox for his contributions in the updated code.
Full Changelog: Publication...v0.2.0-alpha
ShEPhERD v0.1.0: Publication code
Publication code
This release contains the code and weights used in the original publication (https://arxiv.org/abs/2411.04130).
In particular, ShEPhERD was trained and tested with the following package versions:
python==3.8.13
pytorch==1.12.1
pyg==2.2.0
pytorch-lightning==1.6.3
cudatoolkit==11.3.1