Skip to content
This repository has been archived by the owner on Jul 1, 2024. It is now read-only.

Releases: awslabs/keras-apache-mxnet

Keras-MXNet 2.2.4.3

02 Jul 18:23
b4ff29f
Compare
Choose a tag to compare

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 2.2.4.2

19 Aug 11:56
de6f585
Compare
Choose a tag to compare

Highlights

This release mainly includes a new feature, Amazon Elastic Inference Accelerator support, and several important bug fixes to make keras-mxnet compatible with MXNet 1.5.0.

New Feature

  • Support for running Keras prediction with Apache MXNet backend utilizing Amazon Elastic Inference Accelerator. #236. For more details, please refer to documentation.

Bug fixes

  • Fix SGD optimizer failure: #225
  • Fix infer shape on softmax due to 0-size tensor support in MXNet 1.5.0 #232
  • Fix dataset test failure due to numpy update #244

Documentation

  • Update sparse documentation #202

Unsupported Functionalities

<< Same as previous release v2.2.4 >>

  • 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

<< Same as previous release v2.2.4 >>

  • 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

Install MXNet - CPU

pip install mxnet-mkl --pre

Install MXNet - GPU

pip install mxnet-cu101mkl --pre

Contributions

Thanks to all the contributors for their contributions in this release:
@sandeep-krishnamurthy, @karan6181, @kalyc, @roywei

Other Resources and Getting Started

Keras-MXNet 2.2.4.1

16 Oct 00:41
bf5ebee
Compare
Choose a tag to compare

Highlights

  1. New Feature: Added support for sparse tensors.
  2. Added sparse kernel for Dense layer
  3. Added sparse support for dot, concat, sum, mean operators and Embedding layer.
  4. Added sparse linear regression benchmark
  5. Added documentation on sparse support with mxnet backend

API Change:

  1. To use sparse kernel with Dense layer, following API change has been made:
    prediction = Dense(units=1, activation='linear', sparse_weight=True)(input)
    Setting flag sparse_weight=True will enable sparse kernel.
  2. To use Embedding layer with sparse data, sparse_grad needs to be added.
    Embedding(max_features, 128, input_length=10, sparse_grad=True)

Performance

  1. Added sparse benchmark scripts and results on training and inference using CPU & GPU
  2. On higher batch sizes > 128, Keras-MXNet sparse training benchmarks show a significant increase in training speed on GPUs.
  3. Keras-MXNet sparse training and inference benchmarks show significantly less amount of memory usage in GPUs.
  4. See following documents below for more details:

Unsupported Functionalities

<< Same as previous release v2.2.4 >>

  1. Keras MXNet models does not support pickling #194
  2. 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 provide input length when you set unroll=True. See using RNN with Keras-MXNet tutorial for more details. This limitation does not exist when you set unroll=False (default option)
  3. 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.
  4. Unsupported keras/examples list.
  5. 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.4 >>

  1. 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.
  2. MXNet backend does not support boolean. For example, in``topk operator with MXNet backend uses 0/1 instead of boolean. Issue
  3. depthwise_conv2d supports depth_multiplier=1 only. Issue
  4. 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:
@kalyc, @roywei, @sandeep-krishnamurthy

Other Resources and Getting Started

  1. Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
  2. Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
  3. Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
  4. Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  5. Checkpointing MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  6. 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
  7. 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
  8. Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark

Keras-MXNet 2.2.4

10 Oct 22:19
8ad5f3d
Compare
Choose a tag to compare

Highlights:

  1. Up-to-date with keras-team/keras v2.2.4 release

  2. 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)

  3. New feature: add multi hot sparse categorical crossentropy for multi-labeled classification #163, requires latest mxnet (1.3.1 or newer)

Bug fixes

  1. Fixed installing keras-mxnet also installs keras, resolved dependency conflicts #129
  2. Fixed fine tuning model weights not updated #185
  3. Fixed slicing axis #158
  4. Fixed sparse accuracy #166
  5. Fixed dropout not working in LSTM #60

Performance

<< Same as previous release v2.2.2 >>

  1. Keras-MXNet CNN benchmarks show up to 3X performance improvement on GPUs. See Benchmark Results document for more details.
  2. 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

  1. Keras MXNet models does not support pickling #194
  2. 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 provide input length when you set unroll=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 >>

  1. 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.
  2. Unsupported keras/examples list.
  3. 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 >>

  1. 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.
  2. MXNet backend does not support boolean. For example, in``topk operator with MXNet backend uses 0/1 instead of boolean. Issue
  3. depthwise_conv2d supports depth_multiplier=1 only. Issue
  4. 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

  1. Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
  2. Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
  3. Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
  4. Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  5. Checkpointing MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  6. 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
  7. Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark

Keras-MXNet 2.2.2

15 Aug 20:02
01d59d3
Compare
Choose a tag to compare

Highlights

  1. Support new callback - MXNetModelCheckpoint supporting checkpointing the model as MXNet model. #132
  2. Add new get_mxnet_model_info() API to query underlying MXNet model metadata. #144
  3. Add new tutorial for using MXNetModelCheckpoint and get_mxnet_model_info() API, to train model using Keras-MXNet, use the checkpoint call to save the best model in MXNet model format, use model info API to get metadata required for binding the model in MXNet. #147
  4. sparse categorical crossentropy is now supported with MXNet backend. #145
  5. ACGAN and memory networks are now supported with MXNet backend. #148
  6. This release still uses keras_preprocessing==1.0.1 instead of latest keras_preprocessing==1.0.2 due to a known bug that is fixed in this PR but not included in 1.0.2.
  7. Update keras-apache-mxnet to keras-team/keras v2.2.2. Please read Keras release notes for more details on core Keras changes. To summarize, this is mainly a bug fix and performance improvement release from keras-team/keras.

Bug Fixes

  1. Fix batchnorm bug when gamma and beta is None. #137 (related issues: #119, #136)
  2. Fix Conv1D Layer bug with channels first format. #143 (related issues: #121 , #122)
  3. Fix element-wise comparison operators bug. #145 (related issues: #146)
  4. Fix CI to track PR changes instead of master. #141

Performance

  1. Add CNN CPU Inference benchmarks results. PR Keras-MXNet CNN inference benchmarks show up to 1.5X performance improvement on CPU. See Benchmark Results

<< Same as v2.1.6. No major performance optimization updates in this release compared to the previous release. >>

  1. Keras-MXNet CNN benchmarks show up to 3X performance improvement on GPUs. See Benchmark Results document for more details.
  2. Keras-MXNet RNN support is experimental. 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

<< Same as previous release v2.1.6 except for support for depthwise, separable and conv1D with causal >>

  1. RNN with Keras-MXNet is experimental and do not support variable length inputs and unroll=False. You need to pad input sequences to make it static length and provide input``length and set unroll=True. See using RNN with Keras-MXNet tutorial for more details.
  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.
  3. Sparse Tensors are not supported with MXNet backend in this release.
  4. Unsupported keras/examples list.
  5. Cross backend models are not supported. Training with TensorFlow backend and loading the Keras model with MXNet backend is not supported.

Known Issues

  1. 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.
  2. MXNet backend does not support boolean. For example, in``topk operator with MXNet backend uses 0/1 instead of boolean. Issue
  3. depthwise_conv2d supports depth_multiplier=1 only. Issue
  4. LSTM layer fails if dropout is used. Issue
  5. Models with Custom Loss are not serializable. Issue
  6. You cannot slice axis of a Tensor with -1 index. There is a workaround for this issue. Issue
  7. If you have a custom loss function and use slicing operator, you need to explicitly set the _keras_shape of the loss tensor returned from your loss function. Issue

Installation

# Install keras-mxnet
pip install keras-mxnet

# Install MXNet - CPU 
pip install mxnet-mkl

# Install MXNet - GPU
pip install mxnet-cu90mkl

Contributions

Thanks to all the contributors for their contributions in this release:
@roywei, @kalyc, @sandeep-krishnamurthy

Other Resources and Getting Started

  1. Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
  2. Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
  3. Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
  4. Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  5. Checkpointing MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  6. 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
  7. Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark

Keras-MXNet 2.2.0

22 Jun 15:02
332c62f
Compare
Choose a tag to compare

Highlights

  1. Update keras-apache-mxnet to keras-team/keras v2.2.0. Please read Keras release notes for more details on core Keras changes. To summarize, this release has major Keras core changes in Sequential and Model classes. User-facing breaking change is only with removal of merge layers and new trucated_normal base initializer
  2. depthwise_conv2d, separable_conv2d is now supported with MXNet backend. You can use MobileNet and Xception networks. PR
  3. conv1d with causal padding is now supported with MXNet backend. PR
  4. Custom Loss is now supported with MXNet backend. PR

Bug Fixes

  1. Fix crashing softmax operator on GPUs. PR
  2. Custom callback and custom loss is now supported with MXNet backend.

Performance

<< Same as v2.1.6. No major performance optimization updates in this release compared to the previous release. >>

  1. Keras-MXNet CNN benchmarks show up to 3X performance improvement on GPUs. See Benchmark Results document for more details.
  2. Keras-MXNet RNN support is experimental. 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

<< Same as previous release v2.1.6 except for support for depthwise, separable and conv1D with causal >>

  1. RNN with Keras-MXNet is experimental and do not support variable length inputs and unroll=False. You need to pad input sequences to make it static length and provide input``length and set unroll=True. See using RNN with Keras-MXNet tutorial for more details.
  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.
  3. Sparse Tensors are not supported with MXNet backend in this release.
  4. Unsupported keras/examples list.
  5. Cross backend models are not supported. Training with TensorFlow backend and loading the Keras model with MXNet backend is not supported.

Known Issues

  1. 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.
  2. MXNet backend does not support boolean. For example, in``topk operator with MXNet backend uses 0/1 instead of boolean. Issue
  3. depthwise_conv2d supports depth_multiplier=1 only. Issue
  4. LSTM layer fails if dropout is used. Issue
  5. Models with Custom Loss are not serializable. Issue
  6. You cannot slice axis of a Tensor with -1 index. There is a workaround for this issue. Issue
  7. If you have a custom loss function and use slicing operator, you need to explicitly set the _keras_shape of the loss tensor returned from your loss function. Issue
  8. Conv1D layer does not support explicit data_format passed layer. It always uses the image_data_format from keras.json config. Issue

Installation

# Install keras-mxnet
pip install keras-mxnet

# Install MXNet - CPU 
pip install mxnet-mkl

# Install MXNet - GPU
pip install mxnet-cu90mkl

Contributions

Thanks to all the contributors for their contributions in this release:
@roywei, @kalyc, @sandeep-krishnamurthy

Other Resources and Getting Started

  1. Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
  2. Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
  3. Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
  4. Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  5. 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
  6. Keras-MXNet benchmark results -https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark

Keras-MXNet 2.1.6

18 May 23:51
4857329
Compare
Choose a tag to compare

Release Notes

Highlights

  1. Add Apache MXNet backend support in Keras 2.1.6.
  2. Supports Convolutional Neural Network (CNN) and experimental Recurrent Neural Network (RNN) training and inference.
  3. Supports high performance, distributed Multi-GPU training of CNN and RNN networks.
  4. Supports exporting native MXNet Model from Keras-MXNet trained model. Enabling faster research with Keras interface and high performance, large scale inference in production with the native MXNet engine. You can use all language bindings of MXNet (Scala/Python/Julia/R/Perl) for inference on the exported model.
  5. Add Keras benchmarking utility for performing CNN and RNN benchmarks with standard networks and datasets. Supports benchmarking on CPU, one GPU and multi-GPU distributed training.
  6. Add keras.utils.to_channels_first() for easy conversion of channels_last data to channels_first.
  7. PyPi package for keras-mxnet. pip install keras-mxnet.

Performance

  1. Keras-MXNet shows significant improvement in performance with channels_first image_data_format. Performance drops with channels_last data format. Tutorial
  2. Keras-MXNet CNN benchmarks shows upto 3X performance improvement on GPUs. See Benchmark Results document for more details.
  3. Keras-MXNet RNN support is experimental. Performance on CPU is known to be upto 2X slower (Related issue). However, performance on GPU shows upto 2X performance improvement.

Unsupported Functionalities

  1. RNN with Keras-MXNet is experimental and do not support variable length inputs and unroll=False. You need to pad input sequences to make it static length and provide input_length and set unroll=True. See using RNN with Keras-MXNet tutorial for more details.
  2. depthwise_conv2d and separable_conv2d operators are not supported.
  3. 18 Keras operators are not supported with MXNet backend. Update operators, symbolic gradient, local_conv1d, local_conv2d, higher order functions, other operator liks cumsum, cumprod, stack, ctc and more. See Operators missing with MXNet backend Github Issue for more details.
  4. Sparse Tensors are not supported with MXNet backend in this release.
  5. Unsupported keras/examples list.
  6. Cross backend models are not supported. Training with TensorFlow backend and loading the Keras model with MXNet backend is not supported.

Known Issues

  1. MXNet backend performance significantly drops with channels_last image_data_format. It is highly recommended to user channels_first image_data_format. See performance guide for more details.
  2. MXNet backend do not support boolean. For example, in_topk operator with MXNet backend uses 0/1 instead of boolean. Issue
  3. depthwise_conv2d supports depth_multiplier=1 only. Issue
  4. LSTM layer fails if dropout is used. Issue
  5. Models with Custom Loss are not serializable. Issue

Contributions

Thanks to all the contributors for their contributions in this release:
@sandeep-krishnamurthy, @jiajiechen, @karan6181, @roywei, @kalyc

Thanks to Keras1.2-MXNet contributors @howard0su, @yajiedesign, @piiswrong, @kevinthesun.

Other Resources and Getting Started

  1. Keras-MXNet installation guide - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/installation.md
  2. Using multi-gpu distributed training - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/multi_gpu_training.md
  3. Performance tuning guide for Keras with MXNet backend - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/performance_guide.md
  4. Export MXNet Model from Keras-MXNet - https://github.com/awslabs/keras-apache-mxnet/blob/master/docs/mxnet_backend/save_mxnet_model.md
  5. 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
  6. Keras-MXNet benchmark results - https://github.com/awslabs/keras-apache-mxnet/tree/master/benchmark