Skip to content

Commit

Permalink
Create NSL version 1.2.0. See RELEASE.md for a list of changes that a…
Browse files Browse the repository at this point in the history
…re part of this release.

PiperOrigin-RevId: 315775556
  • Loading branch information
arjung authored and tensorflow-copybara committed Jun 10, 2020
1 parent 4e23a45 commit b228511
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
51 changes: 51 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion neural_structured_learning/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ''
Expand Down

0 comments on commit b228511

Please sign in to comment.