a-r-j / graphein

Protein Graph Library
https://graphein.ai/
MIT License
1.03k stars 131 forks source link

[WIP] Initial pass at GNN modelling feature #139

Closed a-r-j closed 1 year ago

a-r-j commented 2 years ago

What does this implement/fix? Explain your changes

The goal of this feature is to provide an easy to use pipeline to perform GNN modelling experiments on protein graphs. Currently, we parse a json/yaml into an ExperimentConfig object which will contain all the model/training options.

We use pytorch-lightning to train and get the graph layers from pytorch-geometric.

Currently, I'm a little stuck on how to make this more flexible. I think the use of Enums in the config isn't great. E.g. it would be nice for users to be able to define their own models/layers and reference them in the config somehow.

pinging @ricomnl :)

What testing did you do to verify the changes in this PR?

No tests yet

sonarcloud[bot] commented 2 years ago

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot E 4 Security Hotspots
Code Smell A 13 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

chaitjo commented 2 years ago

I am not familiar with graphein yet, but one popular option for configuring exactly this sort of stuff that I have seen is Hydra: https://hydra.cc/.

https://medium.com/pytorch/hydra-a-fresh-look-at-configuration-for-machine-learning-projects-50583186b710#:~:text=Hydra%20is%20a%20recently%20released,command%20line%20and%20configuration%20files.