<!DOCTYPE html><html lang=""><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache SINGA · Distributed deep learning system</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Distributed deep learning system"/><meta property="og:title" content="Apache SINGA · Distributed deep learning system"/><meta property="og:type" content="website"/><meta property="og:url" content="https://feynmandna.github.io/"/><meta property="og:description" content="Distributed deep learning system"/><meta property="og:image" content="https://feynmandna.github.io/img/singa_twitter_banner.jpeg"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://feynmandna.github.io/img/singa_twitter_banner.jpeg"/><link rel="shortcut icon" href="/img/favicon.ico"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://feynmandna.github.io/blog/atom.xml" title="Apache SINGA Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://feynmandna.github.io/blog/feed.xml" title="Apache SINGA Blog RSS Feed"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
        document.addEventListener('DOMContentLoaded', function() {
          addBackToTop(
            {"zIndex":100}
          )
        });
        </script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/singa.png" alt="Apache SINGA"/></a><a href="/versions"><h3>3.0.0.rc1</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installation" target="_self">Docs</a></li><li class=""><a href="/docs/source-repository" target="_self">Community</a></li><li class=""><a href="/blog/" target="_self">News</a></li><li class=""><a target="_self"></a></li><li class=""><a href="https://github.com/apache/singa-doc" target="_self">GitHub</a></li></ul></nav></div></header></div></div><div class="navPusher"><div><div class="index-hero"><img style="display:none" src="/img/sg-botanic-coleen-rivas-unsplash.jpg" alt="increase priority"/><div class="index-hero-inner"><img alt="SINGA-Ocean" class="index-hero-logo" src="/img/singa.png"/><h1 class="index-hero-project-tagline">A Distributed Deep Learning Platform</h1><div class="index-ctas"><a class="button index-ctas-get-started-button" href="/docs/installation">Get Started</a><span class="index-ctas-github-button"><iframe src="https://ghbtns.com/github-btn.html?user=apache&amp;repo=singa&amp;type=star&amp;count=true&amp;size=large" frameBorder="0" scrolling="0" width="160" height="30" title="GitHub Stars"></iframe></span></div></div></div><div class="announcement"><div class="announcement-inner">Apache SINGA is an <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">Apache Top Level Project</a>, open source distributed training platform for deep learning and machine learning models</div></div><div class="mainContainer"><div class="container mainPageContainer paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignLeft twoByGridBlock"><div class="blockImage"><img src="/img/overview.png" alt="Distributed Learning"/></div><div class="blockContent"><h2><div><span><p>Distributed Learning</p>
</span></div></h2><div><span><p>Apache SINGA focuses on <a href="https://dl.acm.org/citation.cfm?doid=2733373.2807410">distributed</a>
deep learning by partitioning the model and data onto nodes in a cluster and
<a href="https://dl.acm.org/citation.cfm?doid=2733373.2806232">parallelize</a> the training</p>
</span></div></div></div></div></div></div><div class="container mainPageContainer lightBackground paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignRight twoByGridBlock"><div class="blockContent"><h2><div><span><p>AutoML and Model Zoo</p>
</span></div></h2><div><span><p>Apache SINGA v2.0.0 has AutoML features, a Healthcare
<a href="/docs/model-zoo-cnn-cifar10">model zoo</a>,
and facility for porting other models onto SINGA</p>
</span></div></div><div class="blockImage"><img src="/img/singav1-sw.png" alt="AutoML and Model Zoo"/></div></div></div></div></div><div class="productShowcaseSection paddingBottom"><h2 style="color:#904600">Users of Apache SINGA</h2><p>Apache SINGA powers the following organizations and companies...</p><div class="showcase"><a class="link" href="http://tech.163.com/17/0602/17/CLUL016I00098GJ5.html"><img src="/img/users/NetEase.jpg" alt="NetEase" title="NetEase"/><span class="caption">NetEase</span></a><a class="link" href="https://www.nuh.com.sg/Pages/Home.aspx"><img src="/img/users/nuhlogo.jpg" alt="NUH SG" title="NUH SG"/><span class="caption">NUH SG</span></a><a class="link" href="https://www.sgh.com.sg/"><img src="/img/users/sgh.png" alt="SGH SG" title="SGH SG"/><span class="caption">SGH SG</span></a><a class="link" href="https://www.ttsh.com.sg/Pages/default.aspx"><img src="/img/users/TTSH_Logo.gif" alt="TTSH SG" title="TTSH SG"/><span class="caption">TTSH SG</span></a><a class="link" href="https://www.juronghealthcampus.com.sg/"><img src="/img/users/juronghealth.png" alt="JurongHealth SG" title="JurongHealth SG"/><span class="caption">JurongHealth SG</span></a><a class="link" href="http://www.yzbigdata.com/"><img src="/img/users/yzBigData.png" alt="yzBigData" title="yzBigData"/><span class="caption">yzBigData</span></a><a class="link" href="https://shentilium.com/"><img src="/img/users/shentilium.png" alt="Shentilium" title="Shentilium"/><span class="caption">Shentilium</span></a><a class="link" href="http://www.foodlg.com/"><img src="/img/users/foodlg.png" alt="Foodlg" title="Foodlg"/><span class="caption">Foodlg</span></a><a class="link" href="https://medilot.com/technologies"><img src="/img/users/medilot.svg" alt="Medilot" title="Medilot"/><span class="caption">Medilot</span></a><a class="link" href="http://www.mzhtechnologies.com/index.html"><img src="/img/users/mzhtech.png" alt="MZH Tech" title="MZH Tech"/><span class="caption">MZH Tech</span></a></div><div class="more-users"><a class="button" href="/users">All Apache SINGA Users</a></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/singa-logo-square.png" alt="Apache SINGA" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/installation">Getting Started</a><a href="/docs/device">Guides</a><a href="/#">API Reference (coming soon)</a><a href="/docs/model-zoo-cnn-cifar10">Model Zoo</a><a href="/docs/download-singa">Development</a></div><div><h5>Community</h5><a href="/users.html">User Showcase</a><a href="/docs/history-singa">SINGA History</a><a href="/docs/team-list">SINGA Team</a><a href="/news">SINGA News</a><a href="https://github.com/apache/singa-doc">GitHub</a><div class="social"><a class="github-button" href="https://github.com/apache/singa-doc" data-count-href="/apache/singa/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">apache/singa-doc</a></div><div class="social"><a href="https://twitter.com/ApacheSINGA" class="twitter-follow-button">Follow @ApacheSINGA</a></div></div><div><h5>Apache Software Foundation</h5><a href="https://apache.org/" target="_blank" rel="noreferrer noopener">Foundation</a><a href="http://www.apache.org/licenses/" target="_blank" rel="noreferrer noopener">License</a><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noreferrer noopener">Sponsorship</a><a href="http://www.apache.org/foundation/thanks.html" target="_blank" rel="noreferrer noopener">Thanks</a><a href="http://www.apache.org/events/current-event" target="_blank" rel="noreferrer noopener">Events</a><a href="http://www.apache.org/security/" target="_blank" rel="noreferrer noopener">Security</a></div></section><div style="width:100%;text-align:center"><a href="https://apache.org/" target="_blank" rel="noreferrer noopener" class="ApacheOpenSource"><img src="/img/asf_logo_wide.svg" alt="Apache Open Source"/></a><section class="copyright" style="max-width:60%;margin:0 auto">Copyright © 2020
   The Apache Software Foundation. All rights reserved.
   Apache SINGA, Apache, the Apache feather logo, and
   the Apache SINGA project logos are trademarks of The
   Apache Software Foundation. All other marks mentioned
   may be trademarks or registered trademarks of their
   respective owners.</section></div></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>