Note, that this is not the official mxnet changelog, but rather only the additions we made to mxnet to implement binary layers and examples for BMXNet. All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Amalgamation works again
- RAdam optimizer
- Docker build instructions
- Upgrade base version of mxnet to mxnet v1.5.1
- model converter test
- model visualization
- Upgrade base version of mxnet to mxnet v1.4.1
- Model converter, which compresses weights and adapts symbol file:
- Code is under tools/binary_converter
- Executable can be found here after the build:
build/tools/binary_converter/model-converter
- Test/example: tests/binary/test_converter.py
- Binary inference on CPU and GPU
- Support for dilation with binary layers
- Tests now reside in tests/binary
- Code in python/mxnet/visualization.py changed:
print_summary
now estimates amount of operations (accounts for theoretical speedup)
First beta version. Note that binary (and quantized) examples are maintained separately in a submodule: example/bmxnet-examples
- Functions:
- New operator:
contrib.gradcancel
(see src/operator/contrib/gradient_cancel[-inl.h|.cc|.cu])- allows to cancel gradients (element-wise) if absolute value of input is larger than a threshold
- Binary versions of the following layers of the gluon API:
- gluon.nn.Dense -> gluon.nn.QDense
- gluon.nn.Conv1D -> gluon.nn.QConv1D
- gluon.nn.Conv2D -> gluon.nn.QConv2D
- gluon.nn.Conv3D -> gluon.nn.QConv3D
- Tests are in tests/python/unittest/test_binary.py
- Layers are in python/mxnet/gluon/nn/binary_layers.py
- Code in python/mxnet/visualization.py changed:
plot_network
skips certain layers which clutter binary network graphsprint_summary
calculates compressed model size and prints number of binarized/quantized and full-precision weights
Version of BMXNet started (coincides with adapting our code to Gluon).