incubator-mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Subscribe to updates I use incubator-mxnet


Statistics on incubator-mxnet

Number of watchers on Github 13374
Number of open issues 841
Average time to close an issue 1 day
Main language Python
Average time to merge a PR 1 day
Open pull requests 120+
Closed pull requests 48+
Last commit 2 months ago
Repo Created about 3 years ago
Repo Last Updated 2 months ago
Size 33.3 MB
Homepage http://mxnet.io
Organization / Authorapache
Latest Release1.1.0
Contributors402
Page Updated
Do you use incubator-mxnet? Leave a review!
View open issues (841)
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating incubator-mxnet for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Apache MXNet (incubating) for Deep Learning

Build Status Documentation Status GitHub license

banner

Apache MXNet (incubating) is a deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity. At its core, MXNet contains a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly. A graph optimization layer on top of that makes symbolic execution fast and memory efficient. MXNet is portable and lightweight, scaling effectively to multiple GPUs and multiple machines.

MXNet is also more than a deep learning project. It is also a collection of blue prints and guidelines for building deep learning systems, and interesting insights of DL systems for hackers.

Join the chat at https://gitter.im/dmlc/mxnet

What's New

Contents

Features

  • Design notes providing useful insights that can re-used by other DL projects
  • Flexible configuration for arbitrary computation graph
  • Mix and match imperative and symbolic programming to maximize flexibility and efficiency
  • Lightweight, memory efficient and portable to smart devices
  • Scales up to multi GPUs and distributed setting with auto parallelism
  • Support for Python, R, Scala, C++ and Julia
  • Cloud-friendly and directly compatible with S3, HDFS, and Azure

Ask Questions

License

Licensed under an Apache-2.0 license.

Reference Paper

Tianqi Chen, Mu Li, Yutian Li, Min Lin, Naiyan Wang, Minjie Wang, Tianjun Xiao, Bing Xu, Chiyuan Zhang, and Zheng Zhang. MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems. In Neural Information Processing Systems, Workshop on Machine Learning Systems, 2015

History

MXNet emerged from a collaboration by the authors of cxxnet, minerva, and purine2. The project reflects what we have learned from the past projects. MXNet combines aspects of each of these projects to achieve flexibility, speed, and memory efficiency.

incubator-mxnet open issues Ask a question     (View All Issues)
  • 9 months out of memory when training imagenet with .rec file.
  • 9 months format input data using mx.rnn
  • 9 months Using cuDNN for CTC Loss
  • 9 months define a new Parametrized symbol layer and how to use (bind, init, set learning rate ) it?
  • 9 months tf.boolean_mask equivalent in MxNet
  • 10 months NDArrayIter fails on large data (bug in tensor_blob.h)
  • 10 months AttributeError: 'module' object has no attribute 'stack'
  • 10 months Linking error while compiling for R-package in windows
  • 10 months how to set dataiter with multi data?
  • 10 months mx random seed doesn't work for random_uniform/random_normal on gpu
  • 10 months Data provided by data_shapes don't match names specified by data_names
  • 10 months simple_bind failed error
  • 10 months Update mxnet in maven timely?
  • 10 months Caffe-converter convert_model.py fail
  • 10 months why rnn train speed is not stable,sometims very slow?
  • 10 months About van when using distribute training
  • 10 months mxnet random seed should not be fixed by default
  • 10 months How to implement NG(nonlinearity generator) activate function in mxnet?
  • 10 months How to do a sobel operation in symbol layer
  • 10 months concat operator optimization
incubator-mxnet open pull requests (View All Pulls)
  • Tensorcore fullyconnected support2
  • contrib ctc interface changes for compatibility, and gluon CTC
  • fix autograd memory cost
  • [RCNN] remove self-implemented speedometer
  • Tensorcore fullyconnected support
  • Do not use LG in case of DMLC_GLOG_DEFINED enabled
  • Resolve more compile warnings
  • Add resnet50_v2, resnet101_V2 and resnet152_v2 gluon pre-trained model
  • update submoules with android fixes
  • [scala-package][spark] fix example script
  • add depthwise convolution's gpu version optimization
  • adding ranking metrics (precision/recall) at position K.
  • Add tensorboard configure into ./common/fit.py and ./train_mnist.py
  • fix print format in im2rec.py
  • add std_rgba to normalize options
  • Update note_engine.md
  • fixes broken compilation by including tensor_blob
  • gluon conv rnns
  • Add grad_req parameter to Block that is passed to ParameterDict.get
  • Create vgg-16 vgg-19 and fp16 version in vgg
  • add ForceResizeAug in CreateAugmenter
  • update description in train_imagenet.py
  • add variational autoencoder example
  • [WIP] New faster version of the RecordIO iterator
  • Add installation instruction for Fedora (#7107)
  • wrong definition of cross entropy in make_loss
  • add variational dropout to gluon ptb example
  • Empty commit - DO NOT MERGE
  • update caffe model converter for ssd models only
  • Sparse Tensor: request for reviews
  • Remove Haibin's unused gmail key and added my apache.org key in its place
  • Add convenience fluent method for squeeze op
  • Check padding size for global pooling
  • Refactored storage handling
  • Specify lint-versions and fix docker build issues due to nvidia-384
  • Improve sparse.retain performance on CPU
  • organized installation instructions to fix render issue
  • Reduce ndarray size in test which produces a huge memory spike which …
  • Added unittest for benchmarking metric performance
  • [REVIEW REQUIRED] Revert PR #9484 & add additional dependency licenses to LICENSE file
  • bilinear upsample from PyTorch
  • Script to install on a python virtualenv for development
  • Better Exception Handling for Operators
  • [First cut] Scala Inference APIs
  • Refactor operators and add MKLDNN
  • Add contrib.compute_accidental_hits operator for candidate sampling
  • CMake CUDA fixes + NCCL
  • Exp backoff for downloads.
  • [scala-package][master] bump up project version
  • [scala-package][1.1] bump up project version
  • Gluon PReLU, ELU, SELU, Swish
  • Fallout from simplifying/fixing im2rec.py commandline boolean options.
  • Fix weight decay in Adagrad and improve sparse adagrad update
  • Gluon image-classification example improvement
  • sparse regression operators
  • MobileNetV2
  • Btaskaya/stringformatting
  • Fix bug with symbol loading, and added function for loading NDArrays from memory.
  • Signum with grad compression
  • [REQUEST FOR REVIEW | DO NOT MERGE] Model Quantization with Calibration
  • Unary ops norm_logcdf, norm_derivlogcdf for log CDF of standard normal
  • add label augmentation support in image recordio2
  • Parallelization for ROIpooling OP
  • [DO NOT MERGE] Cython CI check
  • Update on OSX_setup.md
  • add clarifications for environment variables
  • Fix test_cast
  • [WIP] Performance optimization for dot(csr, rsp) on cpu
  • [DO NOT MERGE] Start CI docker revamp
  • add SameType as default type inference function in imperative mode
  • remove set CMAKE_GENERATOR_TOOLSET
  • add multi proposal operator (cpu version) and fix the bug in proposal op (gpu version)
  • Adjust MKLDNN compile flags order to resolve some corner case
  • [Gluon] Support variable sequence length in gluon.RecurrentCell
  • Adding support to profile kvstore server during distributed training
  • Fixes for profiler
  • Add axes support to Dropout for variational dropout in NLP
  • Support single array input for metric
  • host doc on s3
  • fixed the tag_list ordering to enable right ordered add link mapping
  • Update PR Template
  • Update mkldnn to the newest & Add clang build test with mkldnn.
  • Add CPU optimized docker which will be compiled with MKL-DNN
  • Non-blocking row_sparse_pull
  • Better even_split=False support in gluon.split_data()
  • Exception handling documentation
  • [WIP] CMake NNPack support
  • Update versions of python dependencies
  • Ssd camera demo
  • R Metrics
  • Docs page for ONNX module.
  • [REQUEST FOR REVIEW] [MXNET-109] Logging APIs for Visualizing MXNet Data in TensorBoard
  • [MXNET-16] Move mshadow/ps-lite/dlpack to 3rdparty #10132
  • Fix documentation of embedding layer + Fix fix LayerNorm Test
  • [MXNET-100] Fix buggy type inference in Correlation
  • Fix typo in autograd doc
  • Update linear-regression.md
  • [WIP][DO NOT MERGE] Bug fix for libsvm iter
  • [MXNET-16] [DO NOT MERGE] Move submodules to 3rdparty
  • Update profiler example code
  • [MXNET-106][ONNX-MXNET] Fix Maxpool and BatchNorm operator.
  • [WIP] checking CI
  • [MXNET-105][WIP] Fix CuDNN performance after code refactor
  • Fix error in ImageIter example in docs
  • [MXNET-99] Upgrade to cuda 9.1 cudnn 7
  • [WIP][MXNET-107] Fused RNN implementation for CPU
  • fixed the order of adding the new version into tag list before updati…
  • [MXNET-89] Bug fix for bucketing module
  • Add quadratic op for the tutorial of adding ops in backend
  • enable all activations in MKLDNN.
  • [MXNET-82] Sparse op tutorial for developers
  • [MXNET-92] Support float16 in L2Normalization operator
  • [MXNET-60] Enable MXNET_MKLDNN_DEBUG
  • [MXNET-72] [WIP] Improve sparse.adam_update
  • Added tutorial on how to use data augmenters.
  • [MXNET-53][WIP] Image classifier for scala-infer package
  • [MXNET-68] Random shuffle implementation
  • Added tutorial on types of data augmentations.
  • [MXNET-96] Language model with Google's billion words dataset
  • [MXNET-33] SSD example not working with mkl-dnn
incubator-mxnet list of languages used
incubator-mxnet latest release notes
1.1.0 MXNet 1.1.0

MXNet Change Log

1.1.0

Usability Improvements

  • Improved the usability of examples and tutorials ### Bug-fixes
  • Fixed I/O multiprocessing for too many open file handles (#8904), race condition (#8995), deadlock (#9126).
  • Fixed image IO integration with OpenCV 3.3 (#8757).
  • Fixed Gluon block printing (#8956).
  • Fixed float16 argmax when there is negative input. (#9149)
  • Fixed random number generator to ensure sufficient randomness. (#9119, #9256, #9300)
  • Fixed custom op multi-GPU scaling (#9283)
  • Fixed gradient of gather_nd when duplicate entries exist in index. (#9200)
  • Fixed overriden contexts in Module group2ctx option when using multiple contexts (#8867)
  • Fixed swap_axes operator with add_to gradient req (#9541) ### New Features
  • Added experimental API in contrib.text for building vocabulary, and loading pre-trained word embeddings, with built-in support for 307 GloVe and FastText pre-trained embeddings. (#8763)
  • Added experimental structural blocks in gluon.contrib: Concurrent, HybridConcurrent, Identity. (#9427)
  • Added sparse.dot(dense, csr) operator (#8938)
  • Added Khatri-Rao operator (#7781)
  • Added FTML and Signum optimizer (#9220, #9262)
  • Added ENABLE_CUDA_RTC build option (#9428) ### API Changes
  • Added zero gradients to rounding operators including rint, ceil, floor, trunc, and fix (#9040)
  • Added use_global_stats in nn.BatchNorm (#9420)
  • Added axis argument to SequenceLast, SequenceMask and SequenceReverse operators (#9306)
  • Added lazy_update option for standard SGD & Adam optimizer with row_sparse gradients (#9468, #9189)
  • Added select option in Block.collect_params to support regex (#9348)
  • Added support for (one-to-one and sequence-to-one) inference on explicit unrolled RNN models in R (#9022) ### Deprecations
  • The Scala API name space is still called ml.dmlc. The name space is likely be changed in a future release to org.apache and might break existing applications and scripts (#9579, #9324) ### Performance Improvements
  • Improved GPU inference speed by 20% when batch size is 1 (#9055)
  • Improved SequenceLast operator speed (#9306)
  • Added multithreading for the class of broadcast_reduce operators on CPU (#9444)
  • Improved batching for GEMM/TRSM operators with large matrices on GPU (#8846) ### Known Issues
  • Predict with pre-trained models tutorial is broken
  • example/numpy-ops/ndarray_softmax.py is broken

For more information and examples, see full release notes

1.1.0.rc1 Apache MXNet (incubating) 1.1.0.rc1

MXNet Change Log

1.1.0

Usability Improvements

  • Improved the usability of examples and tutorials ### Bug-fixes
  • Fixed I/O multiprocessing for too many open file handles (#8904), race condition (#8995), deadlock (#9126).
  • Fixed image IO integration with OpenCV 3.3 (#8757).
  • Fixed Gluon block printing (#8956).
  • Fixed float16 argmax when there is negative input. (#9149)
  • Fixed random number generator to ensure sufficient randomness. (#9119, #9256, #9300)
  • Fixed custom op multi-GPU scaling (#9283)
  • Fixed gradient of gather_nd when duplicate entries exist in index. (#9200)
  • Fixed overriden contexts in Module group2ctx option when using multiple contexts (#8867)
  • Fixed swap_axes operator with add_to gradient req (#9541) ### New Features
  • Added experimental API in contrib.text for building vocabulary, and loading pre-trained word embeddings, with built-in support for 307 GloVe and FastText pre-trained embeddings. (#8763)
  • Added experimental structural blocks in gluon.contrib: Concurrent, HybridConcurrent, Identity. (#9427)
  • Added sparse.dot(dense, csr) operator (#8938)
  • Added Khatri-Rao operator (#7781)
  • Added FTML and Signum optimizer (#9220, #9262)
  • Added ENABLE_CUDA_RTC build option (#9428) ### API Changes
  • Added zero gradients to rounding operators including rint, ceil, floor, trunc, and fix (#9040)
  • Added use_global_stats in nn.BatchNorm (#9420)
  • Added axis argument to SequenceLast, SequenceMask and SequenceReverse operators (#9306)
  • Added lazy_update option for standard SGD & Adam optimizer with row_sparse gradients (#9468, #9189)
  • Added select option in Block.collect_params to support regex (#9348)
  • Added support for (one-to-one and sequence-to-one) inference on explicit unrolled RNN models in R (#9022) ### Deprecations
  • The Scala API name space is still called ml.dmlc. The name space is likely be changed in a future release to org.apache and might break existing applications and scripts (#9579, #9324) ### Performance Improvements
  • Improved GPU inference speed by 20% when batch size is 1 (#9055)
  • Improved SequenceLast operator speed (#9306)
  • Added multithreading for the class of broadcast_reduce operators on CPU (#9444)
  • Improved batching for GEMM/TRSM operators with large matrices on GPU (#8846) ### Known Issues
  • Predict with pre-trained models tutorial is broken
  • example/numpy-ops/ndarray_softmax.py is broken

For more information and examples, see full release notes

1.1.0.rc0 Apache MXNet (incubating) 1.1.0.rc0

MXNet Change Log

1.1.0

Usability Improvements

  • Improved the usability of examples and tutorials ### Bug-fixes
  • Fixed I/O multiprocessing for too many open file handles (#8904), race condition (#8995), deadlock (#9126).
  • Fixed image IO integration with OpenCV 3.3 (#8757).
  • Fixed Gluon block printing (#8956).
  • Fixed float16 argmax when there is negative input. (#9149)
  • Fixed random number generator to ensure sufficient randomness. (#9119, #9256, #9300)
  • Fixed custom op multi-GPU scaling (#9283)
  • Fixed gradient of gather_nd when duplicate entries exist in index. (#9200)
  • Fixed overriden contexts in Module group2ctx option when using multiple contexts (#8867)
  • Fixed swap_axes operator with add_to gradient req (#9541)

New Features

  • Added experimental API in contrib.text for building vocabulary, and loading pre-trained word embeddings, with built-in support for 307 GloVe and FastText pre-trained embeddings. (#8763)
  • Added experimental structural blocks in gluon.contrib: Concurrent, HybridConcurrent, Identity. (#9427)
  • Added sparse.dot(dense, csr) operator (#8938)
  • Added Khatri-Rao operator (#7781)
  • Added FTML and Signum optimizer (#9220, #9262)
  • Added ENABLE_CUDA_RTC build option (#9428) ### API Changes
  • Added zero gradients to rounding operators including rint, ceil, floor, trunc, and fix (#9040)
  • Added use_global_stats in nn.BatchNorm (#9420)
  • Added axis argument to SequenceLast, SequenceMask and SequenceReverse operators (#9306)
  • Added lazy_update option for standard SGD & Adam optimizer with row_sparse gradients (#9468, #9189)
  • Added select option in Block.collect_params to support regex (#9348)
  • Added support for (one-to-one and sequence-to-one) inference on explicit unrolled RNN models in R (#9022) ### Depreciations
  • The Scala API name space is still called ml.dmlc. The name space is likely be changed in a future release to org.apache and might brake existing applications and scripts (#9579, #9324) ### Performance Improvements
  • Improved GPU inference speed by 20% when batch size is 1 (#9055)
  • Improved SequenceLast operator speed (#9306)
  • Added multithreading for the class of broadcast_reduce operators on CPU (#9444)
  • Improved batching for GEMM/TRSM operators with large matrices on GPU (#8846) ### Known Issues
  • Predict with pre-trained models tutorial is broken
  • example/numpy-ops/ndarray_softmax.py is broken

For more information and examples, see full release notes

Other projects in Python