From b2285116b36d1751a18df92a6b77b0759397470e Mon Sep 17 00:00:00 2001 From: Arjun Gopalan Date: Wed, 10 Jun 2020 14:59:07 -0700 Subject: [PATCH] Create NSL version 1.2.0. See RELEASE.md for a list of changes that are part of this release. PiperOrigin-RevId: 315775556 --- RELEASE.md | 51 +++++++++++++++++++++++++++ neural_structured_learning/version.py | 2 +- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 18f2274..62e8345 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,3 +1,54 @@ +# Release 1.2.0 + +## Major Features and Improvements + +* Changed `nsl.tools.build_graph(...)` to be more efficient and use far less + memory. In particular, the memory consumption is now proportional only to + the size of the input, not the size of the input plus the size of the + output. Since the size of the output can be quadratic in the size of the + input, this can lead to large memory savings. `nsl.tools.build_graph(...)` + now also produces a log message every 1M edges it writes to indicate + progress. +* Introduces `nsl.lib.strip_neighbor_features`, a function to remove graph + neighbor features from a feature dictionary. +* Restricts the expectation of graph neighbor features being present in the + input to the training mode for both the Keras and Estimator graph + regularization wrappers. So, during evaluation, prediction, etc, neighbor + features need not be fed to the model anymore. +* Change the default value of `keep_rank` from `False` to `True` as well as + flip its semantics in `nsl.keras.layers.NeighborFeatures.call` and + `nsl.utils.unpack_neighbor_features` +* Supports feature value constraints for adversarial neighbors. See + `clip_value_min` and `clip_value_max` in `nsl.configs.AdvNeighborConfig`. +* Supports adversarial regularization with PGD in Keras and estimator models. +* Support for generating adversarial neighbors using Projected Gradient + Descent (PGD) via the `nsl.lib.adversarial_neighbor.gen_adv_neighbor` API. + +## Bug Fixes and Other Changes + +* Clarifies the meaning of the `nsl.AdvNeighborConfig.feature_mask` field. +* Updates notebooks to avoid invoking the `nsl.tools.build_graph` and + `nsl.tools.pack_nbrs` utilities as binaries. +* Replace deprecated API in notebooks when testing for GPU availability. +* Fix typos in documentation and notebooks. +* Improvements to example trainers. +* Fixed the metric string to 'acc' to be compatible with both TF1.x and 2.x. +* Allow passing dictionaries to sequential base models in adversarial + regularization. +* Supports input feature list in `nsl.lib.gen_adv_neighbor`. +* Supports input with a collection of tensors in + `nsl.lib.maximize_within_unit_norm`. +* Adds an optional parameter `base_with_labels_in_features` to + `nsl.keras.AdversarialRegularization` for passing label features to the base + model. +* Fixes the tensor ordering issue in `nsl.keras.AdversarialRegularization` + when used with a functional Keras base model. + +## Thanks to our Contributors + +This release contains contributions from many people at Google as well as +@mzahran001. + # Release 1.1.0 ## Major Features and Improvements diff --git a/neural_structured_learning/version.py b/neural_structured_learning/version.py index 419302c..531599b 100644 --- a/neural_structured_learning/version.py +++ b/neural_structured_learning/version.py @@ -15,7 +15,7 @@ # We follow Semantic Versioning (https://semver.org/). _MAJOR_VERSION = '1' -_MINOR_VERSION = '1' +_MINOR_VERSION = '2' _PATCH_VERSION = '0' _VERSION_SUFFIX = ''