graphein
graphein copied to clipboard
[WIP] Initial pass at GNN modelling feature
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 Quality Gate failed. 
0 Bugs
0 Vulnerabilities
4 Security Hotspots
13 Code Smells
No Coverage information
0.0% Duplication
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.