We tested the code with the following environment: 
- Python 3.6.5
- NumPy 1.16.2
- SciPy 1.5.4
- PyTorch 1.7.1
- TorchDiffEq 0.2.2

An example command for training GNODE for DHO: 
code/dho$ python gnode.py --r 0 --lE 2 --nE 5 --lS 1 --nS 5 --D1 3 --D2 1
	- random seed: 0
	- MLP for E: 2 hidden layer with 5 neurons
	- MLP for S: 1 hidden layer with 5 neurons
	- 3 x 1 trainable tensor for the friction matrix

A pre-trained model of GNODE for DHO:
code/dho$ python post_gnode.py --lE 1 --nE 10 --lS 0 --nS 0 --D1 3 --D2 1 --id 63045

For plotting dSdt curve:
code/dho$ python post_gnode_dSdt.py --lE 1 --nE 10 --lS 0 --nS 0 --D1 3 --D2 1 --id 63045

A pre-trained model of GNODE for TGC:
code/tgc$ python post_gnode.py --lE 2 --nE 5 --lS 1 --nS 5 --D1 4 --D2 1 --id 86255

For plotting dSdt curve:
code/tgc$ python post_gnode_dSdt.py --lE 2 --nE 5 --lS 1 --nS 5 --D1 4 --D2 1 --id 86255
