Skip to content

Releases: coleygroup/shepherd

ShEPhERD v0.2.4

04 Sep 02:40
c7e61da

Choose a tag to compare

ShEPhERD v0.2.4 Pre-release
Pre-release

What's Changed

v0.2.4: Model loading and repository optimization

  • Added automatic model downloading from HuggingFace Hub with load_model(), get_model_info(), and clear_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 generate
      • from shepherd.inference import generate_from_intermediate_time
  • Inference now supports atom and bond inpainting
    • generate is updated to allow atom inpainting from t=T
    • generate_from_intermediate_time is specialized to allow atom inpainting from an intermediate time (T ≤ t < 0)
  • Inference can store full diffusion trajectories by setting return_trajectories=True during sampling.
  • shepherd.extract
    • Added remove_side_groups_with_geometry
    • Added remove_overlaps to quickly filter sampled molecules that use atom-inpainting.

Full Changelog: v0.2.0...v0.2.4

ShEPhERD v0.2.0: Refactor

06 Jun 02:51

Choose a tag to compare

Pre-release

Refactoring to support PyTorch >= v2.5.1

Merged from #11

  • Refactored ShEPhERD as a package
    • Updated import statements: throughout repo to import directly from shepherd assuming 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.py for higher versions of PyG. Required changes to the batching functionality for edges (still backwards compatible).
      • Slight changes to training/train.py for upgraded versions of PyTorch Lightning.
  • Model checkpoints have been UPDATED for PyTorch Lightning v2.5.1
  • 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 use get_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

05 Jun 21:07

Choose a tag to compare

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