All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Added tests for loading dataset, creating graph, and training model based on reduced MEPS dataset stored on AWS S3, along with automatic running of tests on push/PR to GitHub, including push to main branch. Added caching of test data to speed up running tests. #38 #55 @SimonKamuk
-
Replaced
constants.py
withdata_config.yaml
for data configuration management #31 @sadamov -
new metrics (
nll
andcrps_gauss
) andmetrics
submodule, stddiv output option c14b6b4 @joeloskarsson -
ability to "watch" metrics and log c14b6b4 @joeloskarsson
-
pre-commit setup for linting and formatting #6, #8 @sadamov, @joeloskarsson
-
added github pull-request template to ease contribution and review process #53, @leifdenby
-
ci/cd setup for running both CPU and GPU-based testing both with pdm and pip based installs #37, @khintz, @leifdenby
Optional multi-core/GPU support for statistics calculation in create_parameter_weights.py
#22
@sadamov
-
Robust restoration of optimizer and scheduler using
ckpt_path
#17 @sadamov -
Updated scripts and modules to use
data_config.yaml
instead ofconstants.py
#31 @sadamov -
Added new flags in
train_model.py
for configuration previously inconstants.py
#31 @sadamov -
moved batch-static features ("water cover") into forcing component return by
WeatherDataset
#13 @joeloskarsson -
change validation metric from
mae
tormse
c14b6b4 @joeloskarsson -
change RMSE definition to compute sqrt after all averaging #10 @joeloskarsson
WeatherDataset(torch.Dataset)
no longer returns "batch-static" component of training item (onlyprev_state
,target_state
andforcing
), the batch static features are instead included in forcing #13 @joeloskarsson
-
simplify pre-commit setup by 1) reducing linting to only cover static analysis excluding imports from external dependencies (this will be handled in build/test cicd action introduced later), 2) pinning versions of linting tools in pre-commit config (and remove from
requirements.txt
) and 3) using github action to run pre-commit. #29 @leifdenby -
change copyright formulation in license to encompass all contributors #47 @joeloskarsson
-
Fix incorrect ordering of x- and y-dimensions in comments describing tensor shapes for MEPS data #52 @joeloskarsson
-
Cap numpy version to < 2.0.0 (this cap was removed in #37, see below) #68 @joeloskarsson
-
Remove numpy < 2.0.0 version cap #37 @leifdenby
-
turn
neural-lam
into a python package by moving all*.py
-files into theneural_lam/
source directory and updating imports accordingly. This means all cli functions are now invoke through the package name, e.g.python -m neural_lam.train_model
instead ofpython train_model.py
(and can be done anywhere once the package has been installed). #32, @leifdenby -
move from
requirements.txt
topyproject.toml
for defining package dependencies. #37, @leifdenby
First tagged release of neural-lam
, matching Oskarsson et al 2023 publication
(https://arxiv.org/abs/2309.17370)