Skip to main content

Graphium: Scaling molecular GNNs to infinity.

Project description

Scaling molecular GNNs to infinity


Run on Gradient PyPI Conda PyPI - Downloads Conda license GitHub Repo stars GitHub Repo stars test release code-check doc codecov

A deep learning library focused on graph representation learning for real-world chemical tasks.

  • ✅ State-of-the-art GNN architectures.
  • 🐍 Extensible API: build your own GNN model and train it with ease.
  • ⚗️ Rich featurization: powerful and flexible built-in molecular featurization.
  • 🧠 Pretrained models: for fast and easy inference or transfer learning.
  • ⮔ Read-to-use training loop based on Pytorch Lightning.
  • 🔌 Have a new dataset? Graphium provides a simple plug-and-play interface. Change the path, the name of the columns to predict, the atomic featurization, and you’re ready to play!

Documentation

Visit https://graphium-docs.datamol.io/.

Run on Gradient

You can try running Graphium on Graphcore IPUs for free on Gradient by clicking on the button above.

Installation for developers

For CPU and GPU developers

Use mamba:

# Install Graphium's dependencies in a new environment named `graphium`
mamba env create -f env.yml -n graphium

# Install Graphium in dev mode
mamba activate graphium
pip install --no-deps -e .

For IPU developers

mkdir ~/.venv                               # Create the folder for the environment
python3 -m venv ~/.venv/graphium_ipu        # Create the environment
source ~/.venv/graphium_ipu/bin/activate    # Activate the environment

# Install the PopTorch wheel
pip install PATH_TO_SDK/poptorch-3.2.0+109946_bb50ce43ab_ubuntu_20_04-cp38-cp38-linux_x86_64.whl

# Enable Poplar SDK (including Poplar and PopART)
source PATH_TO_SDK/enable

# Install the IPU specific and graphium requirements
PACKAGE_NAME=pytorch pip install -r requirements_ipu.txt
pip install -r lightning.txt

# Install Graphium in dev mode
pip install --no-deps -e .

Training a model

To learn how to train a model, we invite you to look at the documentation, or the jupyter notebooks available here.

If you are not familiar with PyTorch or PyTorch-Lightning, we highly recommend going through their tutorial first.

License

Under the Apache-2.0 license. See LICENSE.

Documentation

  • Diagram for data processing in molGPS.
Data Processing Chart
  • Diagram for Muti-task network in molGPS
Full Graph Multi-task Network

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphium-2.1.2.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

graphium-2.1.2-py3-none-any.whl (868.9 kB view details)

Uploaded Python 3

File details

Details for the file graphium-2.1.2.tar.gz.

File metadata

  • Download URL: graphium-2.1.2.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for graphium-2.1.2.tar.gz
Algorithm Hash digest
SHA256 91295abca34e6564c76c22177958950c094a0dff877a82c9e1225379dd4ddbfb
MD5 3213c1df3063a04006202614d8327660
BLAKE2b-256 6f6ff84f536450bc2928256d5030fc24255e0c4eda56c38a8a9b76adeddcd3a5

See more details on using hashes here.

File details

Details for the file graphium-2.1.2-py3-none-any.whl.

File metadata

  • Download URL: graphium-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 868.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for graphium-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b248936ed8f4700c71551180a7bb93bc173534b07bb3907c1528b986adc7c674
MD5 03058c1eaae3d4a1770b3335e970f0b0
BLAKE2b-256 8ee1d6c8af0a0706049edf892e74157c93e92b6a0f1270c515ed0d2c6ea1a6af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page