Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
aaronmarkham and sandeep-krishnamurthy Change dependencies documentation opencv2-->opencv (#12654)
* opencv2-->opencv; deleted duplicate content

* update troubleshooting info
Latest commit 3042825 Sep 25, 2018
Failed to load latest commit information.
.github Update PR Template (#9919) Mar 17, 2018
3rdparty Updated tvm submodule head (#12448) Sep 3, 2018
R-package Updating news, readme files and bumping master version to 1.3.1 (#12525) Sep 17, 2018
amalgamation Fix typo. (#12211) Aug 17, 2018
benchmark/python [MXNET-684] Add `cond` operator (#11760) Jul 24, 2018
ci Enable C++ coverage (#12642) Sep 24, 2018
cmake Add path_suffixes for finding cudnn.lib (#11513) Jul 6, 2018
contrib/clojure-package Fixed param coercion of clojure executor/forward (#12627) (#12630) Sep 21, 2018
cpp-package Add GetName function in Symbol class for cpp pack (#12076) Aug 9, 2018
docker [MXNET-703] Add TensorRT runtime Dockerfile (#12549) Sep 18, 2018
docs Change dependencies documentation opencv2-->opencv (#12654) Sep 25, 2018
example [MXNET-910] Multithreading inference. (#12456) Sep 19, 2018
include/mxnet [MXNET-779]Add DLPack Transformation API (#12047) Sep 22, 2018
make allow custom path and static linking for custom mallocs in make (#12645) Sep 24, 2018
matlab Adding Apache Header to .m, .cfg, R and .mk files (#9499) Jan 22, 2018
perl-package MXNET-776 [Perl] Better documentation/bug fixes. (#12038) Aug 8, 2018
plugin add input argument in warpctc layer (#11167) Jun 6, 2018
python Gluon DataLoader: avoid recursionlimit error (#12622) Sep 24, 2018
scala-package review require() usages to add meaningful messages. (#12570) Sep 20, 2018
setup-utils Update expected result in osx python install script (#10842) May 10, 2018
src [MXNET-867] Pooling1D with "same" padding (#12594) Sep 25, 2018
tests [MXNET-867] Pooling1D with "same" padding (#12594) Sep 25, 2018
tools Add docstring in (#12621) Sep 21, 2018
.clang-tidy [MXNET-860] Update to modern nullptr usage (#12352) Sep 20, 2018
.codecov.yml Enable C++ coverage (#12642) Sep 24, 2018
.gitattributes [R] To ignore R-pkg when releasing on github (#7007) Jul 13, 2017
.gitignore Enable C++ coverage (#12642) Sep 24, 2018
.gitmodules [MXNET-703] TensorRT runtime integration (#11325) Aug 10, 2018
.mxnet_root CI docker revamp; Add Jetson, Raspberry and CentOS 7 build [MXNET-42]… Mar 9, 2018
.travis.yml [MXNET-908] Enable python tests in Travis (#12550) Sep 19, 2018
CMakeLists.txt Enable C++ coverage (#12642) Sep 24, 2018
CODEOWNERS add gigasquid (Carin Meier) to the Clojure language binding (#12198) Aug 21, 2018 [MXNET-867] Pooling1D with "same" padding (#12594) Sep 25, 2018
DISCLAIMER Add DISCLAIMER and lxn2 GPG keys (#7344) Aug 5, 2017
Jenkinsfile Enable C++ coverage (#12642) Sep 24, 2018
KEYS upload key (#12301) Aug 23, 2018
LICENSE [MXNET-533] MXNet-ONNX export (#11213) Jun 25, 2018 Add linux and macos MKLDNN Building Instruction (#11049) Jul 30, 2018
Makefile Enable C++ coverage (#12642) Sep 24, 2018 Updating news, readme files and bumping master version to 1.3.1 (#12525) Sep 17, 2018
NOTICE Update NOTICE (#9706) Feb 6, 2018 Updating news, readme files and bumping master version to 1.3.1 (#12525) Sep 17, 2018
appveyor.yml License Adds - some more (#9559) Jan 26, 2018 fix. (#11471) Jun 28, 2018
readthedocs.yml [docs] add favicon and fix index html title Mar 25, 2016
snap.python Add snapcraft packaging (#4852) Mar 23, 2017
snapcraft.yaml Updating news, readme files and bumping master version to 1.3.1 (#12525) Sep 17, 2018

Apache MXNet (incubating) for Deep Learning

Master Docs License
Build Status Documentation Status GitHub license


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.

Ask Questions

How to Contribute

What's New



  • 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


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


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.