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.3.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: graphium-2.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 4d7cc662af0b81c44948c0c6d4a8a39d97f5c3db13880e1dd2c4852c2095628f
MD5 ba6b0e7c54d14d517ceab33235885c4a
BLAKE2b-256 f301825f37812d138cb23421c3879bd6aa5868c016b8eb09530e11ef2f28ee93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphium-2.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4e21b3d06047fd6bac3154f5f11acc308db3b5e414644e475928791583921a5f
MD5 0c993d9eb2669898d19986a2294558ae
BLAKE2b-256 b891b8f5c1cb2259172a8f5b76152e63cf16569316d86fc2f6df8996b450edd6

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