DEPRECATION NOTE:
MXNet support in Keras is going to be discontinued and v2.2.4.3 is the last release as multi-backend Keras has been discontinued . It is recommended to consider switching to MXNet Gluon. MXNet Gluon is a high level, easy to use and performant deep learning framework that has all the features in Keras-MXNet and more.
This will be the last release and it's not guaranteed keras-mxnet will work with future mxnet releases. We recommend using keras-mxnet with mxnet 1.6.0.
Features
- Added stack operator support: #263
Bug fixes
- Fixed axis error on normalization layer when loading TF trained model: #258
- Fix GPU detection: #255
- Fix batchnorm freeze layer issue: #252
Documentation
- Added deprecation notice.
Unsupported Functionalities
- Keras MXNet models does not support pickling #194
- 14 Keras operators are not supported with MXNet backend. Update operators, symbolic gradient, localconv1d, localconv2d, higher order functions, other operator like cumsum, cumprod, stack, ctc and more. See Operators missing with MXNet backend Github Issue for more details.
- Unsupported keras/examples list.
- Cross backend models are not supported. Training with TensorFlow backend and loading the Keras model with MXNet backend is not supported.
Known Issues
- MXNet 1.5.0 added dynamic shape support, but causing problem on Keras-MXNet RNN layer masking:
#229 - MXNet backend performance significantly drops with channels_last image_data_format. It is highly recommended to use channels_first image_data_format. See performance guide for more details.
MXNet backend does not support boolean. For example, in``topk operator with MXNet backend uses 0/1 instead of boolean. Issue - depthwise_conv2d supports depth_multiplier=1 only. Issue
Models with Custom Loss are not serializable. Issue
Installation
Install keras-mxnet
pip install keras-mxnet
Choose one of the following based on your machine type:
Install MXNet - CPU
pip install mxnet==1.6.0
Install MXNet - GPU
pip install mxnet-cu101==1.6.0
Note: you can find more mxnet build flavors and version according to your need here
Contributions
Thanks to all the contributors for their contributions in this release:
@karan6181, @leondgarse, @pjelement, @roywei
Other Resources and Getting Started
- Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
- Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
- Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
- Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
- Checkpointing MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
- Using RNN in Keras-MXNet. Limitations and workarounds - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/using_rnn_with_mxnet_backend.md
- Use sparse data for training models in Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/using_sparse_data_with_mxnet_backend.md
- Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark