pagendam-callis-groundwaterml
This repository contains an implementation of Log-Additive Convolutional Neural Networks in Pytorch, following the model architecture described in "A log-additive neural model for spatio-temporal prediction of groundwater levels" by Pagendam et. al.
Science Score: 65.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 24 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
✓Institutional organization owner
Organization lanl has institutional domain (www.lanl.gov) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Repository
This repository contains an implementation of Log-Additive Convolutional Neural Networks in Pytorch, following the model architecture described in "A log-additive neural model for spatio-temporal prediction of groundwater levels" by Pagendam et. al.
Basic Info
- Host: GitHub
- Owner: lanl
- License: other
- Language: Jupyter Notebook
- Default Branch: main
- Size: 3.43 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
[//]: <> (THIS IS A MARKDOWN FILE, VIEW IN A MARKDOWN VIEWER OR CONVERT)
PyTorch Implementation of Log-Additive Convolutional Neural Networks
This repository contains an implementation of Log-Additive Convolutional Neural Networks in Pytorch, following the model architecture described in A log-additive neural model for spatio-temporal prediction of groundwater levels by Pagendam et. al.
These models are intended to be trained on the groundwater data available at https://doi.org/10.25919/skw8-yx65. Data must be convered from .rds files to .npy files to be compatible with this code. Code to complete this conversion can be found in /notebooks.
The repository does include randomly generated synthetic data. This synthetic data has the same shapes as the original groundwater data. However, all values were randomly generated. Therefore, this data does not present a substitute learning problem. It is included so users can have an example of how data is loaded into the PyTorch DataSet and DataLoader for model training.
This code was developed by Skylar Callis while working as a post-bachelors student at Los Alamos National Laboratory (LANL) from 2022 - 2024. To see what they are up to these days, visit Skylar's Website .
This work was done in collaboration with Dan Pagendam, the Team Leader for Hybrid Modelling in Analytics & Decision Sciences in Data61 at CSIRO.
The PyTorch Implementation of Log-Additive Convolutional Neural Networks code has been approved by LANL for a BSD-3 open source license under O#4752.
The GitHub page for this code can be found here.
Model and Training Functions
This directory contains the definitions of the PyTorch models, datasets, and dataloaders used in this learning problem. It also contains functions that define the training steps, as well as a script that completes the entire training routine.
The model_definition.py and dataloader.py files have unit tests, found in the model_and_training_fns/tests directory. These are implemented in pytest, and can be executed by running pytest in the terminal. To see coverage, run pytest --cov.
Notebooks
The notebooks directory contains all Jupyter Notebooks. Notebooks included are:
generate_synth_data.ipynb: generates synthetic data in the same shape as the groundwater data from https://doi.org/10.25919/skw8-yx65.convert_rsd_npy.ipynb: converts the.rsdfiles found at https://doi.org/10.25919/skw8-yx65 to.npyfiles.plot_data.ipynb: plots example datapoints from https://doi.org/10.25919/skw8-yx65.models.ipnb: develops models that follow A log-additive neural model for spatio-temporal prediction of groundwater levels by Pagendam et. al.training_test_run.ipynb: completes a run-through of the training routine, using the methodology frommodel_and_training_fns/training_routine.py, supported bymodel_and_training_fns/training_fns.py; additionally, describes issues that arose regarding the RMSProp Optimizer and the Distribution Loss function. It also attempts to debug why the models aren't learning effectively by performing checks on the training functions.model_reslts.ipynb: plots the results of the trained models
## Synthetic Data
This directory contains randomly generated data files of the same shape as the data in https://doi.org/10.25919/skw8-yx65. It contains subdirectories for train, tune (validation), test data. All of the data is randomly generated values $\in [0, 1)$.
Owner
- Name: Los Alamos National Laboratory
- Login: lanl
- Kind: organization
- Email: github-register@lanl.gov
- Location: Los Alamos, New Mexico, USA
- Website: https://www.lanl.gov/
- Repositories: 224
- Profile: https://github.com/lanl
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
PyTorch Implementation of Log-Additive Convolutional
Neural Networks
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Skylar
family-names: Callis
email: sjcallis@lanl.gov
affiliation: Los Alamos National Laboratory
orcid: 'https://orcid.org/0009-0009-4133-377X'
keywords:
- machine learning
- pytorch
- neural networks
- image regression
- convolutional neural networks
- computer vision
- branched neural network architecture
- groundwater
license: BSD-3-Clause
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0