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.pywithdata_config.yamlfor data configuration management #31 @sadamov -
new metrics (
nllandcrps_gauss) andmetricssubmodule, 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.yamlinstead ofconstants.py#31 @sadamov -
Added new flags in
train_model.pyfor configuration previously inconstants.py#31 @sadamov -
moved batch-static features ("water cover") into forcing component return by
WeatherDataset#13 @joeloskarsson -
change validation metric from
maetormsec14b6b4 @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_stateandforcing), 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-laminto 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_modelinstead ofpython train_model.py(and can be done anywhere once the package has been installed). #32, @leifdenby -
move from
requirements.txttopyproject.tomlfor defining package dependencies. #37, @leifdenby
First tagged release of neural-lam, matching Oskarsson et al 2023 publication
(https://arxiv.org/abs/2309.17370)