-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added GNN example #39
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Lewis, this is really exciting to see this material coming together, I've already learnt a lot. Wish I had more time to play with the code!
These are just some suggestions about how you might make the notebook even more useful, up to you which seem sensible and helpful, and which are not sensible, or would take too muchy work to be worth, and just ignore those, but maybe just comment on ones you don't think you'll act on.
- xarray=2024.6.0 | ||
- pip=24.0 | ||
- pip: | ||
- tensorflow==2.12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any particular reason why you needed to install tensorflow through pip, rather than conda?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tensorflow-gnn isn't available with conda (at least right now) so I thought it might be reasonable to into install both tensorflow and tensorflow-gnn with the same package manager to try and prevent issues. I'm pretty sure that I tried using conda for tensorflow and didn't have any problems so I don't believe it will make a major difference either way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just going to add comments here and references cells, which is not ideal. We should look at adding the "ReviewNB" app to your notebook.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notebook overall looks very good. For these notebooks I'd like to use a format based on this template by NOAA:
https://github.com/geo-rao/notebook-dev/blob/main/templates/NCAI_Training_Notebook_template%20-%20Distribution%20Copy.ipynb
So for example, it would be good include a reference section for any material you used . You could also include the data section. Also good would some conclusions after the final set of results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that For our dataset we want there to be data reading from all weather buoys.
should be something like
For our dataset we want there to be data readings from all weather buoys.
. I think there are other words/phrases to review in this paragraph.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you might want to add a new heading after Clean data
to reflect the next section is about Data preparation
, making it ready to use with a GNN.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
usual good practice for QA/testing a notebook is to reset your kernel and choose "run all cells" to check that if you execute in order, evertyhing works. I've caught out many times thinking its OK but actually I'd done something manually that I deleted or moved to different position and the notebook doesn't actually work as published.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it would be interesting to make use of the %%time
cell magic to time cell execution, to indicate which cells may take a while to execute, and also have a record of the execution time in the notebook.#
See docs here about "cell magic"
https://ipython.readthedocs.io/en/stable/interactive/magics.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once you've created graph tensor, it might be interesting to maybe pick out a small subset to show hat the transofrmation looks like? The idea is to help people understand what is in the graph tensor, so whatever makes sense to demonstrate what is actually in the graph tensor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A plot of some of the values being predicted might be nice as part of the data exploration. Not sure what that looks like, but maybe a time series at a station, or for a specific time, the values at different stations? You know best what is sensible for this dataset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might also be interesting to break down the metrics into different categories. e.g. how does performance different for different statuons, different years in the dataset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't see in the notebook (probably there some where and I missed it), which variables are you predicting at the masked out stations. It might be worrth saying a bit more about the the masking, and showing some of the actual values that are predicted (see previous comment about showing some outputs at the end).
Added a graph neural network example jupyter notebook that uses some weather buoy data to predict missing data.