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.

https://github.com/lanl/pagendam-callis-groundwaterml

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
Last synced: 6 months ago · JSON representation ·

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
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

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 .rsd files found at https://doi.org/10.25919/skw8-yx65 to .npy files.
  • 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 from model_and_training_fns/training_routine.py, supported by model_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

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels