<!DOCTYPE html>
<html lang=" en"><head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/image/mxnet-icon.png" rel="icon" type="image/png"><!-- Begin Jekyll SEO tag v2.6.1 -->
<title>Apache MXNet | A flexible and efficient library for deep learning.</title>
<meta name="generator" content="Jekyll v4.0.0" />
<meta property="og:title" content="Apache MXNet" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A flexible and efficient library for deep learning." />
<meta property="og:description" content="A flexible and efficient library for deep learning." />
<link rel="canonical" href="https://mxnet.apache.org/versions/master/" />
<meta property="og:url" content="https://mxnet.apache.org/versions/master/" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"url":"https://mxnet.apache.org/versions/master/","headline":"Apache MXNet","description":"A flexible and efficient library for deep learning.","name":"Apache MXNet","@type":"WebSite","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
<script src="https://medium-widget.pixelpoint.io/widget.js"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
  <link rel="stylesheet" href="/versions/master/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/versions/master/feed.xml" title="Apache MXNet" /><script>
if(!(window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1")) {
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-96378503-1', 'auto');
  ga('send', 'pageview');
}
</script>
  
<script src="/versions/master/assets/js/jquery-3.3.1.min.js"></script><script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js" defer></script>
  <script src="/versions/master/assets/js/globalSearch.js" defer></script>
  <script src="/versions/master/assets/js/clipboard.js" defer></script>
  <script src="/versions/master/assets/js/copycode.js" defer></script></head>
<body><header class="site-header" role="banner">

  <script>
    $(document).ready(function () {

      // HEADER OPACITY LOGIC

      function opacity_header() {
        var value = "rgba(4,140,204," + ($(window).scrollTop() / 300 + 0.4) + ")"
        $('.site-header').css("background-color", value)
      }

      $(window).scroll(function () {
        opacity_header()
      })
      opacity_header();

      // MENU SELECTOR LOGIC
      $('.page-link').each( function () {
        if (window.location.href.includes(this.href)) {
          $(this).addClass("page-current");
        }
      });
    })
  </script>
  <div class="wrapper">
    <a class="site-title" rel="author" href="/versions/master/"><img
            src="/versions/master/assets/img/mxnet_logo.png" class="site-header-logo"></a>
    <nav class="site-nav">
      <input type="checkbox" id="nav-trigger" class="nav-trigger"/>
      <label for="nav-trigger">
          <span class="menu-icon">
            <svg viewBox="0 0 18 15" width="18px" height="15px">
              <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
            </svg>
          </span>
      </label>
      <div class="gs-search-border">
        <div id="gs-search-icon"></div>
        <form id="global-search-form">
          <input id="global-search" type="text" title="Search" placeholder="Search" />
          <div id="global-search-dropdown-container">
            <button class="gs-current-version btn" type="button" data-toggle="dropdown">
                <span id="gs-current-version-label">master</span>
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown">
              
                
                  <li class="gs-opt gs-versions active">master</li>
                
              
                
                  <li class="gs-opt gs-versions">1.7.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
          <span id="global-search-close">x</span>
        </form>
      </div>
      <div class="trigger">
        <div id="global-search-mobile-border">
          <div id="gs-search-icon-mobile"></div>
          <input id="global-search-mobile" placeholder="Search..." type="text"/>
          <div id="global-search-dropdown-container-mobile">
            <button class="gs-current-version-mobile btn" type="button" data-toggle="dropdown">
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown-mobile">
              
                
                  <li class="gs-opt gs-versions active">master</li>
                
              
                
                  <li class="gs-opt gs-versions">1.7.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
        </div>
        <a class="page-link" href="/versions/master/get_started">Get Started</a>
        <a class="page-link" href="/versions/master/blog">Blog</a>
        <a class="page-link" href="/versions/master/features">Features</a>
        <a class="page-link" href="/versions/master/ecosystem">Ecosystem</a>
        <a class="page-link" href="/versions/master/api">Docs & Tutorials</a>
        <a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a>
        <div class="dropdown">
          <span class="dropdown-header">master
            <svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
          </span>
          <div class="dropdown-content">
            
              
                <a class="dropdown-option-active" href="/">master</a>
              
            
              
                <a href="/versions/1.7.0/">1.7.0</a>
              
            
              
                <a href="/versions/1.6.0/">1.6.0</a>
              
            
              
                <a href="/versions/1.5.0/">1.5.0</a>
              
            
              
                <a href="/versions/1.4.1/">1.4.1</a>
              
            
              
                <a href="/versions/1.3.1/">1.3.1</a>
              
            
              
                <a href="/versions/1.2.1/">1.2.1</a>
              
            
              
                <a href="/versions/1.1.0/">1.1.0</a>
              
            
              
                <a href="/versions/1.0.0/">1.0.0</a>
              
            
              
                <a href="/versions/0.12.1/">0.12.1</a>
              
            
              
                <a href="/versions/0.11.0/">0.11.0</a>
              
            
          </div>
        </div>
      </div>
    </nav>
  </div>
</header>
<main class="page-content-home" aria-label="Content">
    <div class="wrapper">
        <div class="home">
            <h1 style="margin-bottom:40px;"> A FLEXIBLE AND EFFICIENT<br> <span
                    style="margin-left:100px"> LIBRARY FOR DEEP LEARNING</span>
            </h1>

            <p style="margin-bottom:40px;">A truly open source deep learning framework suited<br>for flexible research
                prototyping and
                production.</p>
            <div>
                <a href="/versions/master/get_started" class="btn" style="float:left; margin-bottom:20px; margin-top:0px">Get Started
                    <span class="span-accented">›</span></a>
            </div>

        </div>


    </div>
    </div>
    <div class="key-features-section section">
        <div class="wrapper">
            <div class="row">
                <div class="col-8">
                    <h2>Key Features &amp;<br>Capabilities</h2>
                </div>
                <div class="col-4">
                    <div>
                        <a href="/versions/master/features" class="btn btn-action">All Features <span class="span-accented">›</span></a>
                    </div>
                </div>
            </div>

            <div class="row key-features">
                <div class="col-3">
                    <div class="card">
                        <div class="card-text">
                            <h3>Hybrid Front-End</h3>
                            <p>A hybrid front-end seamlessly transitions between Gluon eager imperative mode and symbolic mode to provide both flexibility and speed.</p>
                        </div>
                        <div class="key-feature-image">
                            <img width=50px src="/versions/master/assets/img/circuit.svg">
                        </div>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <div class="card-text">
                            <h3>Distributed Training</h3>
                            <p>Scalable distributed training and performance optimization in research and production is enabled by the dual Parameter Server and Horovod support.</p>
                        </div>
                        <div class="key-feature-image">
                            <img width=50px src="/versions/master/assets/img/algorithm.svg">
                        </div>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <div class="card-text">
                            <h3>8 Language Bindings</h3>
                            <p>Deep integration into Python and support for Scala, Julia, Clojure, Java, C++, R and Perl.</p>
                        </div>
                        <div class="key-feature-image">
                            <img width=50px src="/versions/master/assets/img/programming.svg">
                        </div>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <div class="card-text">
                            <h3>Tools &amp; Libraries</h3>
                            <p>A thriving ecosystem of tools and libraries extends MXNet and enable use-cases in computer vision, NLP, time series and more.</p>
                        </div>
                        <div class="key-feature-image">
                            <img width=50px src="/versions/master/assets/img/chip.svg">
                        </div>
                    </div>
                </div></div>

        </div>
    </div>
    <div class="ecosystem-section section">
        <div class="wrapper">
            <div class="row">
                <div class="col-8">
                    <h2>Ecosystem </h2>
                </div>
                <div class="col-4">
                    <div>
                        <a href="/versions/master/ecosystem" class="btn btn-action">All Projects <span
                                class="span-accented">›</span></a>
                    </div>
                </div>
                <div class="col-8">
                    <p>Explore a rich ecosystem of libraries, tools, and more to support development.</p>
                </div>
            </div>

            <div class="row"><div class="col-3">
                    <div class="card">
                        <a href="https://d2l.ai">
                            <div class="card-text">
                                <div class="card-header-title">
                                    <h3>D2L.ai</h3>
                                    <img src="/versions/master/assets/img/textbook.svg">
                                </div>
                                <p class="card-summary">An interactive deep learning book with code, math, and discussions. Used at Berkeley, University of Washington and more.</p>
                            </div>
                        </a>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <a href="https://gluon-cv.mxnet.io">
                            <div class="card-text">
                                <div class="card-header-title">
                                    <h3>GluonCV</h3>
                                    <img src="/versions/master/assets/img/visual.svg">
                                </div>
                                <p class="card-summary">GluonCV is a computer vision toolkit with rich model zoo. From object detection to pose estimation.</p>
                            </div>
                        </a>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <a href="https://gluon-nlp.mxnet.io/">
                            <div class="card-text">
                                <div class="card-header-title">
                                    <h3>GluonNLP</h3>
                                    <img src="/versions/master/assets/img/artificial-intelligence.svg">
                                </div>
                                <p class="card-summary">GluonNLP provides state-of-the-art deep learning models in NLP. For engineers and researchers to fast prototype research ideas and products.</p>
                            </div>
                        </a>
                    </div>
                </div><div class="col-3">
                    <div class="card">
                        <a href="https://gluon-ts.mxnet.io/">
                            <div class="card-text">
                                <div class="card-header-title">
                                    <h3>GluonTS</h3>
                                    <img src="/versions/master/assets/img/line-graph.svg">
                                </div>
                                <p class="card-summary">Gluon Time Series (GluonTS) is the Gluon toolkit for probabilistic time series modeling, focusing on deep learning-based models.</p>
                            </div>
                        </a>
                    </div>
                </div></div>
        </div>
    </div>

    <div class="news-section section ">
        <div class="wrapper">
            <div class="row">
                <div class="col-8">
                    <h2>Latest News</h2>
                </div>
                <div class="col-4">
                    <div>
                        <a href="/versions/master/blog" class="btn btn-action">More Blog Posts <span
                                class="span-accented">›</span></a>
                    </div>
                </div>
                <div class="col-8">
                    <p>Follow our blog post publications to get the latest news on MXNet and its ecosystem</p>
                </div>
            </div>

            <div id="medium-widget"></div>
            <script>
                MediumWidget.Init({renderTo: '#medium-widget',
                    params: {
                        "resource": "https://medium.com/apache-mxnet",
                        "postsPerLine": 3,
                        "limit": 3,
                        "picture": "big",
                        "fields": ["description", "claps", "publishAt"],
                        "ratio": "landscape"
                    }
                })
            </script>
        </div>
    </div>

    <div class="community-section section ">
        <div class="wrapper">
            <div class="row">
                <div class="col-6">
                    <h2>Community</h2>
                </div>
                <div class="col-8">
                    <p>Join the MXNet scientific community to contribute, learn, and get
                        answers to your questions.</p>
                </div>
            </div>

            <div class="row"><div class="col-4">
                    <div class="card">
                        <a href="https://github.com/apache/incubator-mxnet">
                            <div>
                                <div class="card-header-title">
                                    <h3>GitHub</h3>
                                    <img src="/versions/master/assets/img/octocat.png">
                                </div>
                                <p class="card-summary">Report bugs, request features, discuss issues, and more.</p>
                            </div>
                        </a>
                    </div>
                </div><div class="col-4">
                    <div class="card">
                        <a href="https://discuss.mxnet.io/">
                            <div>
                                <div class="card-header-title">
                                    <h3>Discuss Forum</h3>
                                    <img src="/versions/master/assets/img/mxnet_m.png">
                                </div>
                                <p class="card-summary">Browse and join discussions on deep learning with MXNet and Gluon.</p>
                            </div>
                        </a>
                    </div>
                </div><div class="col-4">
                    <div class="card">
                        <a href="mailto:dev@mxnet.apache.org">
                            <div>
                                <div class="card-header-title">
                                    <h3>Slack</h3>
                                    <img src="/versions/master/assets/img/slack-logo-icon.svg">
                                </div>
                                <p class="card-summary">Discuss advanced topics. Request access by mail dev@mxnet.apache.org</p>
                            </div>
                        </a>
                    </div>
                </div></div>
        </div>
    </div>
    <div class="trusted-by-section section ">
        <div class="wrapper">
            <div class="trusted-by">
                <h2>Already trusted by</h2>
                <img src="/versions/master/assets/img/logos.png">
            </div>
        </div>
    </div>
</main><footer class="site-footer h-card">
    <div class="wrapper">
        <div class="row">
            <div class="col-4">
                <h4 class="footer-category-title">Resources</h4>
                <ul class="contact-list">
                    <li><a href="/versions/master/community#stay-connected">Mailing lists</a></li>
                    <li><a href="https://discuss.mxnet.io">MXNet Discuss forum</a></li>
                    <li><a href="/versions/master/community#github-issues">Github Issues</a></li>
                    <li><a href="https://github.com/apache/incubator-mxnet/projects">Projects</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li>
                    <li><a href="/versions/master/community">Contribute To MXNet</a></li>

                </ul>
            </div>

            <div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/incubator-mxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#github"></use></svg> <span class="username">apache/incubator-mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">apachemxnet</span></a></li><li><a href="https://youtube.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#youtube"></use></svg> <span class="username">apachemxnet</span></a></li></ul>
</div>

            <div class="col-4 footer-text">
                <p>A flexible and efficient library for deep learning.</p>
            </div>
        </div>
    </div>
</footer>
<footer class="site-footer2">
    <div class="wrapper">
        <div class="row">
            <div class="col-3">
                <img src="/versions/master/assets/img/apache_incubator_logo.png" class="footer-logo col-2">
            </div>
            <div class="footer-bottom-warning col-9">
                <p>Apache MXNet is an effort undergoing incubation at The Apache Software Foundation (ASF), <span
                        style="font-weight:bold">sponsored by the <i>Apache Incubator</i></span>. Incubation is required
                    of all newly accepted projects until a further review indicates that the infrastructure,
                    communications, and decision making process have stabilized in a manner consistent with other
                    successful ASF projects. While incubation status is not necessarily a reflection of the completeness
                    or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                </p><p>"Copyright © 2017-2018, The Apache Software Foundation Apache MXNet, MXNet, Apache, the Apache
                    feather, and the Apache MXNet project logo are either registered trademarks or trademarks of the
                    Apache Software Foundation."</p>
            </div>
        </div>
    </div>
</footer>




</body>

</html>
