This repository has been archived by the owner on Jul 1, 2024. It is now read-only.
Keras-MXNet 2.2.4
Highlights:
-
Up-to-date with keras-team/keras v2.2.4 release
-
Added support for RNN with unrolling set to False by default #168, requires latest mxnet (1.3.1 or newer), see rnn examples under examples folder (imdb_lstm, addition_rnn, mnist_irnn)
-
New feature: add multi hot sparse categorical crossentropy for multi-labeled classification #163, requires latest mxnet (1.3.1 or newer)
Bug fixes
- Fixed installing keras-mxnet also installs keras, resolved dependency conflicts #129
- Fixed fine tuning model weights not updated #185
- Fixed slicing axis #158
- Fixed sparse accuracy #166
- Fixed dropout not working in LSTM #60
Performance
<< Same as previous release v2.2.2 >>
- Keras-MXNet CNN benchmarks show up to 3X performance improvement on GPUs. See Benchmark Results document for more details.
- Performance on CPU is known to be up to 2X slower (Related issue). However, performance on GPU shows up to 2X performance improvement.
Unsupported Functionalities
- Keras MXNet models does not support pickling #194
- For using RNN with unrolling=True, Keras-MXNet does not support
variable length inputs
. You need to pad input sequences to make it static length and provideinput
length
when you setunroll=True
. See using RNN with Keras-MXNet tutorial for more details. This limitation does not exist when you set unroll=False (default option)
<< Same as previous release v2.2.2 >>
- 15 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
<< Same as previous release v2.2.2 >>
- MXNet backend performance significantly drops with
channels_last
image_data_format. It is highly recommended to usechannels_first
image_data_format. See performance guide for more details. - MXNet backend does not support
boolean
. For example,in``topk
operator with MXNet backend uses0/1
instead of boolean. Issue depthwise_conv2d
supportsdepth_multiplier=1
only. Issue- Models with Custom Loss are not serializable. Issue
Installation
# Install keras-mxnet
pip install keras-mxnet
# Install MXNet - CPU
pip install mxnet-mkl --pre
# Install MXNet - GPU
pip install mxnet-cu90mkl --pre
Contributions
Thanks to all the contributors for their contributions in this release:
@roywei, @kalyc, @sandeep-krishnamurthy
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
- Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark