Recent Releases of DeepSensor
DeepSensor - v0.4.2
- Minor fix to avoid pandas 3.0 FutureWarning
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.4.1...v0.4.2
Climate Change - Climate Downscaling
- Python
Published by tom-andersson 6 months ago

DeepSensor - v0.4.1
- Rearrange forecast dimensions from (lead_time, init_time) to (init_time, lead_time)
- Raise error about deepsensor.plot.prediction not supporting forecasts
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.4.0...v0.4.1
Climate Change - Climate Downscaling
- Python
Published by tom-andersson 6 months ago

DeepSensor - v0.4.0
What's Changed
- Fix forecasting lead times and improve forecasting functionality by @tom-andersson in https://github.com/alan-turing-institute/deepsensor/pull/132
- Fix astype in coordinates matching when sampling data frames by @acocac in https://github.com/alan-turing-institute/deepsensor/pull/126
Breaking changes
model.predict
for models trained withtarget_delta_t > 0
now returnPrediction
objects withinit_time
andlead_time
dimensions with atime
(valid time) coordinate, rather than a singletime
dimension (which used to correspond to forecast initialisation time).
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.3.8...v0.4.0
Climate Change - Climate Downscaling
- Python
Published by tom-andersson 6 months ago

DeepSensor - v0.3.8
What's changed
- Add new
DataProcessor
normalisation method (`"positive_semidefinite") compatible with a Bernoulli-Gamma ConvCNP likelihood - Expose k and scale parameters of "bernoulli-gamma" ConvNP likelihood in low-level and high-level prediction interface
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.3.7...v0.3.8
Climate Change - Climate Downscaling
- Python
Published by tom-andersson 9 months ago

DeepSensor - v0.3.7
What's Changed
- Return active learning proposed placements with raw coordinate names by @RohitRathore1 in https://github.com/alan-turing-institute/deepsensor/pull/99
- Make use of
multiprocessing.Pool
inget_era5_reanalysis_data
optional in https://github.com/alan-turing-institute/deepsensor/commit/b9594a24114058ad443639432a3f9ca4b99c76a5 - Fix python version in tests (plus additional minor fixes) by @davidwilby in https://github.com/alan-turing-institute/deepsensor/pull/116
- use unittest's
setUpClass
instead of overriding__init__
by @davidwilby in https://github.com/alan-turing-institute/deepsensor/pull/117
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.3.6...v0.3.7
Climate Change - Climate Downscaling
- Python
Published by tom-andersson 10 months ago

DeepSensor - v0.3.6
What's Changed
- Support non-Gaussian
ConvNP
likelihoods in low-level and high-level prediction interfaces by @tom-andersson in https://github.com/alan-turing-institute/deepsensor/pull/97 - Fix multiple N-D target sets case in ConvNP; Update ConvNP API
- Minor suggestions to installation docs. by @davidwilby in https://github.com/alan-turing-institute/deepsensor/pull/98
New Contributors
- @davidwilby made their first contribution in https://github.com/alan-turing-institute/deepsensor/pull/98
Full Changelog: https://github.com/alan-turing-institute/deepsensor/compare/v0.3.5...v0.3.6
Climate Change - Climate Downscaling
- Python
Published by tom-andersson about 1 year ago

DeepSensor - v0.3.5
What's changed
- Fix bug in batchwise
Trainer
training with multi-dimensional context sets (https://github.com/tom-andersson/deepsensor/issues/93; thanks @nilsleh)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.3.4...v0.3.5
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.3.4
- Fix PyPI upload by removing
get-station-data
dependency; instead raise error that it must be installed manually if user calls the function that uses it
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.3.3...v0.3.4
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.3.3
What's Changed
- New documentation by @tom-andersson and @kallewesterling, containing steps for getting started, a user guide, learning resources, a list of research ideas, community information, and more. Uses the Jupyter Book system with fully reproducible notebooks demoing features of the package.
- New
deepsensor.data.sources
module for downloading ERA5, GHCNd, topography, and land mask data directly into DeepSensor xarray/pandas format. Results can be cached to disk to avoid re-downloading. Leveragesget-station-data
tool by @scotthosking, @magnusross, and @tom-andersson. - New plotting tools:
deepsensor.plot.prediction
anddeepsensor.plot.task
. - Various bug fixes.
Breaking changes
- The
ConvNP
hyperparameterpoints_per_unit
has been renamed tointernal_density
to be more intuitive. Instances ofpoints_per_unit
in code and model JSON configuration files will need to be renamed tointernal_density
.
New Contributors
- @scotthosking made their first contribution in https://github.com/tom-andersson/deepsensor/pull/86
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.3.2...v0.3.3
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.3.2
- Fix bug in
ContextDist
acquisition function (thanks @acocac)
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.3.1
What's Changed
- Fix bug in
ContextDist
acquisition function (thanks @acocac)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.3.0...v0.3.1
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.3.0
What's Changed
- New
Prediction
object output bymodel.predict
, containing xarray or pandas data (https://github.com/tom-andersson/deepsensor/issues/53) - New
TaskLoader
functionality for generating satellite gap-filling training tasks (https://github.com/tom-andersson/deepsensor/issues/23, example) DataProcessor
scales each spatial dimension equally to fix stripe artefacts, and raises a warning if user-provided coord mappings don't do this (https://github.com/tom-andersson/deepsensor/issues/77)Task
operations now work liketask.operation_method()
and are tracked in thetask["ops"]
listTaskLoader
does not sample target data for theTask
iftarget_sampling
isn't provided (supports context-onlyTask
s for inference withmodel.predict
)- Support spatiotemporal
aux_at_targets
xarray data (with a time dim), not spatial-only - Fix
model.predict
not permitting numerical noise inX_t
coordinates (https://github.com/tom-andersson/deepsensor/issues/78) - Key classes are now exposed from higher import levels (https://github.com/tom-andersson/deepsensor/commit/de876d46cf0b59602b125f4c47471b27949022bb)
- Add
CONTRIBUTING.md
andCODE_OF_CONDUCT.md
by @kallewesterling - Issue templates by @kallewesterling
- Google docstrings added to the majority of the package by @kallewesterling
- DeepSensor Slack channel request form
- Preliminary
sphinx
readthedocs page by @kallewesterling
Breaking changes
- Replace any
mean_ds, pred_ds, samples_ds = model.predict(...)
withpred = model.predict(...)
. Prediction pandas/xarray objects can now be accessed withpred["<var_ID>"]
. - Replace any
remove_nans_from_task_Y_t_if_present(task)
withtask.remove_target_nans()
DataProcessor
now auto-normalises coordinates differently to preserve aspect ratio - see https://github.com/tom-andersson/deepsensor/issues/77. If you aren't specifying spatial coordinate normalisation mapping explicitly (throughx1_map
/x2_map
or through config), your trained models may start receiving different data.
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.5...v0.3.0
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.5
What's Changed
- Fix incompatibility with Python < 3.10 (thanks @patel-zeel)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.4...v0.2.5
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.4
What's Changed
- Modularise and track
Task
operations (eg adding batch dim, removing nans, converting to tensor). - Fix bug in
concat_tasks
when there are NaNs in target data (thanks @nilsleh!)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.3...v0.2.4
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.3
What's Changed
- Bug fixes
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.2...v0.2.3
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.2
What's Changed
- Add
X_t_mask
kwarg toDeepSensorModel.predict
when predicting on-grid (model will not predict at False/0s and will be returned as NaNs in prediction xarray objects) - Minor bug fixes
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.1...v0.2.2
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.1
What's changed
- Saving/loading bugfixes
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.2.0...v0.2.1
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.2.0
What's Changed
DataProcessor
,TaskLoader
, andConvNP
now each have a.save(folder)
method and can be re-initialised with.__init__(folder)
DataProcessor
init kwargsx1_map
andx2_map
now optional (if not provided, will be auto-inferred from first dataset passed to.__call__
)- Convert normalization parameters to a dictionary for data processor by @patel-zeel in https://github.com/tom-andersson/deepsensor/pull/48
New Contributors
- @patel-zeel made their first contribution in https://github.com/tom-andersson/deepsensor/pull/48
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.11...v0.2.0
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.11
What's changed
- Add
Trainer
class that tracks optimiser object to speed up training - New
diff
boolean kwarg forGreedyAlgorithm.__call__
to compute difference after adding query context point
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.10...v0.1.11
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.10
What's changed
- Minor bugfix in
TaskLoader
aux_at_contexts
functionality
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.9...v0.1.10
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.9
What's new
- Fix bug in
TaskLoader.load_dask
(thanks @magnusross) - Handle dates with no pairs of stations in
compute_pandas_data_resolution
Breaking changes
- The
TaskLoader.__init__
aux_at_contexts
arg is no longer a tuple of(int, xarray.DataArray
), and is now just an xarray object that will be automatically sampled at the off-grid context locations from all context sets.
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.8...v0.1.9
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.8
What's new
- Compute analogue of resolution for scattered pandas data for inferring default
ConvNP
internal grid resolution - Allow sampling auxiliary data at locations of another context set in
TaskLoader
withaux_at_contexts
kwarg inTaskLoader.__init__
deepsensor.plot.offgrid_context_observations
utility to plot context observation numerical values- Fix bug in concatenating/batching
Task
objects with gridded data (thanks @patel-zeel) - Support active learning with
aux_at_targets
downscaling functionality by @RohitRathore1 in https://github.com/tom-andersson/deepsensor/pull/35 - Unified (single) progress bar during active learning with
GreedyAlgorithm
Breaking changes
- Update
DataProcessor
config to store user-provided normalisation method for each variable
Contributors
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.7...v0.1.8
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.7
- Minor bugfixes in
deepsensor.active_learning.acquisition_fn
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.6...v0.1.7
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.6
- Downscaling using auxiliary output MLP
- Assign maximisation/minimisation attr to each
AcquisitionFunction
so the user doesn't need to decide (thanks @jonas-scholz123 @polpel)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.5...v0.1.6
Climate Change - Climate Downscaling
- Python
Published by tom-andersson over 1 year ago

DeepSensor - v0.1.5
What's Changed
- Fix rounding errors in
DeepSensorModel.predict
coordinates from normalise-unnormalise operations by @tom-andersson and @polpel in https://github.com/tom-andersson/deepsensor/pull/25 - Support autoregressive (AR) sampling in
DeepSensorModel.predict
- Support training with multiple non-overapping targets
- Support NaNs in context and target data for
ConvNP
deepsensor.active_learning
enhancements- Support numpy coordinates in
TaskLoader
context/target andDeepSensorModel.predict
targets - Switch default random sampling behaviour for
xarray
data to use linear interpolation rather than grid-cell wise to avoid prediction artifacts away from grid cells (thanks @jonas-scholz123)
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.4...v0.1.5
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago

DeepSensor - v0.1.4
- Fix decoder scale not being inferred from model discretisation density (ppu). Closes https://github.com/tom-andersson/deepsensor/issues/18
- Add
deepsensor.plot.feature_maps
method - Provisional
deepsensor.active_learning
functionality with acquisition functions and greedy algorithm
Breaking changes
ConvNP
class moved fromdeepsensor.model.models
todeepsensor.model.convnp
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.3...v0.1.4
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago

DeepSensor - v0.1.3
Try to trigger PyPI upload with publisher set up on PyPI
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.2...v0.1.3
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago

DeepSensor - v0.1.2
What's New
- Breaking change: Plotting module moved and methods renamed for nicer-looking imports. E.g. now
deepsensor.plot.plot.plot_context_encoding
isdeepsensor.plot.context_encoding
. - Added
deepsensor.plot.receptive_field
method for plotting model's RF in unnormalised space with cartopy coastlines.
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.1...v0.1.2
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago

DeepSensor - v0.1.1
What's New
- Published on PyPI
ConvNP
class defaults to CNP model- More intuitive names for ConvCNP or ConvCNP:
ConvNP(..., likelihood="cnp")
andConvNP(..., likelihood="gnp")
Full Changelog: https://github.com/tom-andersson/deepsensor/compare/v0.1.0...v0.1.1
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago

DeepSensor - v0.1.0
Pre-release with basic DeepSensor functionality for data processing, task loading, and neural process training/inference.
What's New
DataProcessor
for normalisingxarray
andpandas
data + standardising coordinatesTaskLoader
for loading neural process meta-learning tasks fromxarray
and/orpandas
data, outputtingTask
objectsTaskLoader.__call__
provides sampling schemes for generating context and target sets. Options:- random sampling (
xarray
/pandas
), - passing all observations (
xarray
/pandas
), - randomly splitting into context & target (
pandas
only).
- random sampling (
ProbabilisticModel
class providing blueprint for generic model interfaceDeepSensorModel(ProbabilisticModel)
class for outputting unnormalised model predictions inxarray
(grid) orpandas
(off-grid)ConvNP(DeepSensorModel)
model class wrapping aroundneuralprocesses
(https://github.com/wesselb/neuralprocesses) for convolutional neural process modellingtrain_epoch
method implementing simple training scheme on a list ofTask
s
Contributors
- Thanks to @wesselb for support with backend-agnosticism!
DataProcessor
dimension validation + unit tests by @jonas-scholz123 in https://github.com/tom-andersson/deepsensor/pull/2- fix str of tensorflow backend by @acocac in https://github.com/tom-andersson/deepsensor/pull/3
- Fix
else
level in set_gpu_default_device() by @polpel in https://github.com/tom-andersson/deepsensor/pull/4 - Fix DataProcessor's validaiton of dimension ordering in xr.Dataset by @polpel in https://github.com/tom-andersson/deepsensor/pull/5
Full Changelog: https://github.com/tom-andersson/deepsensor/commits/v0.1.0
Climate Change - Climate Downscaling
- Python
Published by tom-andersson almost 2 years ago
