This is an automated email from the ASF dual-hosted git repository.

anirudh2290 pushed a commit to branch v1.2.0
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/v1.2.0 by this push:
     new 106391a  1.2.1 release notes (#11478)
106391a is described below

commit 106391a1f0ee012b1ea38764d711e76774ce77e1
Author: Anirudh Subramanian <anirudh2...@apache.org>
AuthorDate: Mon Jul 9 10:19:52 2018 -0700

    1.2.1 release notes (#11478)
    
    * Release notes 1.2.1
    
    * Fix RELEASE Notes
    
    * Remove line
    
    * Fix within namescope issue
    
    * Remove bullet
    
    * Change the tutorial link
    
    * Fix gluon without namescope line
    
    * Fix gluon book link
    
    * Add info to NEWS
    
    * Add Saving and Loading Gluon models tutorial line
    
    * Add NEWS.md
    
    * Fix save_parameters and load_parameters
    
    * Fix NEWS
    
    * Add NEWS.md
    
    * Change save_params/load_params to save_params
    
    * Semantic versioning line
---
 NEWS.md | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/NEWS.md b/NEWS.md
index 1a9c12b..2cb32e0 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,7 +2,20 @@ MXNet Change Log
 ================
 ## 1.2.1
 ### Deprecations
-- An incorrect [usage](https://github.com/apache/incubator-mxnet/issues/11091) 
of `save_params` was advertised in the gluon book which led to MXNet users 
depending on the incorrect usage and developing a hack around it. A change was 
made to the internal structure of the `.params` file saved by `save_params` to 
resolve a bug. This led to user scripts with the above mentioned hack to break. 
To fix this, `save_params` and `load_params` APIs have been reverted to 
previous format and marked a [...]
+The [usage](https://github.com/apache/incubator-mxnet/issues/11091) of 
`save_params` described in the [gluon 
book](https://github.com/zackchase/mxnet-the-straight-dope/blob/master/chapter07_distributed-learning/hybridize.ipynb)
 did not reflect the intended usage of the API and led MXNet users to depend on 
the unintended usage of `save_params` and `load_params`. In 1.2.0 release an 
internal bug fix was made which broke the unintended usage use case and users 
scripts.
+To correct the API change, the behavior of `save_params` API has been reverted 
to the behavior of MXNet v1.1.0 in v1.2.1. The intended and correct use are now 
supported with the new APIs `save_parameters` and `load_parameters`.
+With v1.2.1, usage of `save_params` and `load_params` APIs will resume their 
former functionality and a deprecation warning will appear.
+All scripts to save and load parameters for a Gluon model should use the new 
APIs: `save_parameters` and `load_parameters`. If your model is hybridizable 
and you want to export a serialized structure of the model as well as 
parameters you should migrate your code to use `export` API and the newly added 
`imports` API instead of `save_params` and `load_params` API. Please refer to 
the [Saving and Loading Gluon Models 
Tutorial](http://mxnet.incubator.apache.org/versions/1.2.0/tutorials/gluo [...]
+
+### User Code Changes
+- If you have been using the `save_params` and `load_params` API, below are 
the recommendations on how to update your code:
+1. If you save parameters to load it back into a `SymbolBlock`, it is strongly 
recommended to use `export` and `imports` API instead. For more information, 
please see the [Saving and Loading Gluon Models 
Tutorial](http://mxnet.incubator.apache.org/versions/1.2.0/tutorials/gluon/save_load_params.html).
+2. If you created gluon layers without a `name_scope` using MXNet 1.2.0, you 
must replace `save_params` with `save_parameters`. Otherwise, your models saved 
in 1.2.1 will fail to load back, although this worked in 1.2.0.
+3. For the other use cases, such as models created within a `name_scope` 
(inside a `with name_scope()` block) or models being loaded back into gluon and 
not `SymbolBlock`, we strongly recommend replacing `save_params` and 
`load_params` with `save_parameters` and `load_parameters`. Having said that, 
your code won't break in 1.2.1 but will give you a deprecated warning message 
for `save_params` and `load_params`.
+
+### Incompatible API Changes
+- We are breaking semantic versioning by making a backwards incompatible 
change from 1.2.0 in the 1.2.1 patch release. The breaking use case is 
documented in point 2 above. The reason for doing this is because the 1.2.0 
release broke a documented [use 
case](https://github.com/apache/incubator-mxnet/issues/11091) from the [gluon 
book](https://github.com/zackchase/mxnet-the-straight-dope/blob/master/chapter07_distributed-learning/hybridize.ipynb)
 and this release reverts the breakage.
+- We did break the promise with semantic versioning due to the API behavior 
change in 1.2.0 and the backward incompatible change between 1.2.0 and 1.2.1 
patch release. The breaking use case is documented in point 2 above. The reason 
for doing this is because the 1.2.0 release broke a documented [use 
case](https://github.com/apache/incubator-mxnet/issues/11091) from the [gluon 
book](https://github.com/zackchase/mxnet-the-straight-dope/blob/master/chapter07_distributed-learning/hybridize.i
 [...]
 
 ### Bug Fixes
 - Fixed MKLDNN bugs (#10613, #10021, #10616, #10764, #10591, #10731, #10918, 
#10706, #10651, #10979).

Reply via email to