An open API service indexing awesome lists of open source software.

https://github.com/akensert/molgraphx


https://github.com/akensert/molgraphx

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

molgraphx-logo

A Minimalistic **Graph Neural Network** (GNN) package for **Molecular Machine Learning**.

> [!NOTE]
> Unfinished, in progress.

## Highlights
- Compatible with **Keras 3**
- Simplified API
- Fast featurization
- Modular graph **layers**
- Serializable graph **featurizers** and **models**
- Flexible **GraphTensor**

## Examples

```python
import keras
from molgraphx import features
from molgraphx import featurizers
from molgraphx import layers
from molgraphx import models

featurizer = featurizers.MolFeaturizer()

graph = featurizer([('C(C(=O)O)N', 1.5), ('C1C[C@H](NC1)C(=O)O', 2.5)])

model = models.GraphModel.from_layers([
layers.Input(graph.spec),
layers.GraphProjection(units=128),
layers.GraphTransformer(units=128, heads=8),
layers.GraphTransformer(units=128, heads=8),
layers.GraphTransformer(units=128, heads=8),
layers.GraphTransformer(units=128, heads=8),
layers.Readout('mean'),
keras.layers.Dense(units=1024, activation='relu'),
keras.layers.Dense(units=1),
])

preds = model.predict(graph)

model.save('/tmp/model.keras')
loaded_model = keras.models.load_model('/tmp/model.keras')
loaded_model.summary()
```