<!DOCTYPE html>

<!---
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<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.8.0</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.8.0</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.8.0/">1.8.0</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>
