Skip to content

Commit fd75a8d

Browse files
csferngtensorflow-copybara
authored andcommitted
Create NSL version 1.4.0. See RELEASE.md for a list of changes included in this release.
PiperOrigin-RevId: 464150758
1 parent 8a3317d commit fd75a8d

File tree

2 files changed

+56
-2
lines changed

2 files changed

+56
-2
lines changed

RELEASE.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,57 @@
1+
# Release 1.4.0
2+
3+
## Major Features and Improvements
4+
5+
* Add `params` as an optional third argument to the `embedding_fn` argument of
6+
`nsl.estimator.add_graph_regularization`. This is similar to the `params`
7+
argument of an Estimator's `model_fn`, which allows users to pass arbitrary
8+
states through. Adding this as an argument to `embedding_fn` will allow
9+
users to access that state in the implementation of `embedding_fn`.
10+
* Both `nsl.keras.AdversarialRegularization` and
11+
`nsl.keras.GraphRegularization` now support the `save` method which will
12+
save the base model.
13+
* `nsl.keras.AdversarialRegularization` now supports a `tf.keras.Sequential`
14+
base model with a `tf.keras.layers.DenseFeatures` layer.
15+
* `nsl.configs.AdvNeighborConfig` has a new field `random_init`. If set to
16+
`True`, a random perturbation will be performed before FGSM/PGD steps.
17+
* `nsl.lib.gen_adv_neighbor` now has a new parameter `use_while_loop`. If set
18+
to `True`, the PGD steps are done in a `tf.while_loop` which is potentially
19+
more memory efficient but has some restrictions.
20+
* New library functions:
21+
* `nsl.lib.random_in_norm_ball` for generating random tensors in a norm
22+
ball.
23+
* `nsl.lib.project_to_ball` for projecting tensors onto a norm ball.
24+
25+
## Bug Fixes and Other Changes
26+
27+
* Dropped Python 2 support (which was deprecated 2+ years ago).
28+
* `nsl.keras.AdversarialRegularization` and `nsl.lib.gen_adv_neighbor` will
29+
not attempt to calculate gradients for tensors with a non-differentiable
30+
`dtype`. This doesn’t change the functionality, but only suppresses excess
31+
warnings.
32+
* Both `estimator/adversarial_regularization.py` and
33+
`estimator/graph_regularization.py` explicitly import `estimator` from
34+
`tensorflow` as a separate import instead of accessing it via `tf.estimator`
35+
and depend on the tensorflow `estimator` target.
36+
* The new top-level `workshops` directory contains presentation materials from
37+
tutorials we organized on NSL at KDD 2020, WSDM 2021, and WebConf 2021.
38+
* The new `usage.md` page describes featured usage of NSL, external talks,
39+
blog posts, media coverage, and more.
40+
* End-to-end examples under the `examples` directory:
41+
* New examples about graph neural network modules with graph-regularizer
42+
and graph convolution.
43+
* New README file providing an overview of the examples.
44+
* New tutorial examples under the `examples/notebooks` directory:
45+
* Graph regularization for image classification using synthesized graphs
46+
* Adversarial Learning: Building Robust Image Classifiers
47+
* Saving and loading NSL models
48+
49+
## Thanks to our Contributors
50+
51+
This release contains contributions from many people at Google Research and from
52+
TF community members: @angela-wang1 , @dipanjanS, @joshchang1112, @SamuelMarks,
53+
@sayakpaul, @wangbingnan136, @zoeyz101
54+
155
# Release 1.3.1
256

357
## Major Features and Improvements

neural_structured_learning/version.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
# We follow Semantic Versioning (https://semver.org/).
1717
_MAJOR_VERSION = '1'
18-
_MINOR_VERSION = '3'
19-
_PATCH_VERSION = '1'
18+
_MINOR_VERSION = '4'
19+
_PATCH_VERSION = '0'
2020

2121
_VERSION_SUFFIX = ''
2222

0 commit comments

Comments
 (0)