<!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 v3.8.6" />
<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/1.7.0/" />
<meta property="og:url" content="https://mxnet.apache.org/versions/1.7.0/" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"description":"A flexible and efficient library for deep learning.","headline":"Apache MXNet","name":"Apache MXNet","@type":"WebSite","url":"https://mxnet.apache.org/versions/1.7.0/","@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/1.7.0/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/versions/1.7.0/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/1.7.0/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/1.7.0/assets/js/globalSearch.js" defer></script>
  <script src="/versions/1.7.0/assets/js/clipboard.js" defer></script>
  <script src="/versions/1.7.0/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/1.7.0/"><img
            src="/versions/1.7.0/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">1.7.0</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">master</li>



                  <li class="gs-opt gs-versions active">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">master</li>



                  <li class="gs-opt gs-versions active">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/1.7.0/get_started">Get Started</a>
        <a class="page-link" href="/versions/1.7.0/blog">Blog</a>
        <a class="page-link" href="/versions/1.7.0/features">Features</a>
        <a class="page-link" href="/versions/1.7.0/ecosystem">Ecosystem</a>
        <a class="page-link" href="/versions/1.7.0/api">Docs & Tutorials</a>
        <a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a>
        <div class="dropdown">
          <span class="dropdown-header">1.7.0
            <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 href="/">master</a>
            <a class="dropdown-option-active" 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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/community/contribute#mxnet-dev-communications">Mailing lists</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li>
                    <li><a href="https://issues.apache.org/jira/projects/MXNET/issues">Jira Tracker</a></li>
                    <li><a href="https://github.com/apache/incubator-mxnet/labels/Roadmap">Github Roadmap</a></li>
                    <li><a href="https://discuss.mxnet.io">MXNet Discuss forum</a></li>
                    <li><a href="/versions/1.7.0/community/contribute">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/1.7.0/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/1.7.0/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/1.7.0/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/1.7.0/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>
