<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Blog · Apache SINGA</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Distributed deep learning system"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Blog · Apache SINGA"/><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 class="blog"><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="siteNavGroupActive siteNavItemActive"><a href="/blog/" target="_self">News</a></li><li class=""><a href="https://apache-singa.readthedocs.io/en/latest/" target="_self">API</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 class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i>›</i><span>All News</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">All News</h3><ul class=""><li class="navListItem"><a class="navItem" href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></li><li class="navListItem"><a class="navItem" href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></li><li class="navListItem"><a class="navItem" href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></li><li class="navListItem"><a class="navItem" href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></li><li class="navListItem"><a class="navItem" href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></li><li class="navListItem"><a class="navItem" href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></li><li class="navListItem"><a class="navItem" href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></li><li class="navListItem"><a class="navItem" href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></li><li class="navListItem"><a class="navItem" href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></li><li class="navListItem"><a class="navItem" href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></li></ul></div></div></section></div><script>
            var coll = document.getElementsByClassName('collapsible');
            var checkActiveCategory = true;
            for (var i = 0; i < coll.length; i++) {
              var links = coll[i].nextElementSibling.getElementsByTagName('*');
              if (checkActiveCategory){
                for (var j = 0; j < links.length; j++) {
                  if (links[j].classList.contains('navListItemActive')){
                    coll[i].nextElementSibling.classList.toggle('hide');
                    coll[i].childNodes[1].classList.toggle('rotate');
                    checkActiveCategory = false;
                    break;
                  }
                }
              }

              coll[i].addEventListener('click', function() {
                var arrow = this.childNodes[1];
                arrow.classList.toggle('rotate');
                var content = this.nextElementSibling;
                content.classList.toggle('hide');
              });
            }

            document.addEventListener('DOMContentLoaded', function() {
              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
              createToggler('#tocToggler', 'body', 'tocActive');

              var headings = document.querySelector('.toc-headings');
              headings && headings.addEventListener('click', function(event) {
                var el = event.target;
                while(el !== headings){
                  if (el.tagName === 'A') {
                    document.body.classList.remove('tocActive');
                    break;
                  } else{
                    el = el.parentNode;
                  }
                }
              }, false);

              function createToggler(togglerSelector, targetSelector, className) {
                var toggler = document.querySelector(togglerSelector);
                var target = document.querySelector(targetSelector);

                if (!toggler) {
                  return;
                }

                toggler.onclick = function(event) {
                  event.preventDefault();

                  target.classList.toggle(className);
                };
              }
            });
        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/16/graduate-tlp">Apache SINGA as a Top-Level Project</a></h1><p class="post-meta">October 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>The Apache Software Foundation (ASF) recently
<a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces57">announced</a>
Apache SINGA as a Top-Level Project.</p>
<blockquote>
<p>The Apache Software Foundation (ASF), the all-volunteer developers, stewards,
and incubators of more than 350 Open Source projects and initiatives,
announced today Apache® SINGA™ as a Top-Level Project (TLP).</p>
<p>Apache SINGA is an Open Source distributed, scalable machine learning library.
The project was originally developed in 2014 at the National University of
Singapore, and was submitted to the Apache Incubator in March 2015.</p>
</blockquote>
</span></div><div class="read-more"><a class="button" href="/blog/2019/10/16/graduate-tlp">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/10/03/foodlg-with-singa">Foodlg Powered by SINGA</a></h1><p class="post-meta">October 3, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>Food(lg), the mobile app to
<a href="https://ssi.nus.edu.sg/ntfgh/">help patients with prediabetes</a>, is powered by
SINGA and this app can now be downloaded on the
<a href="https://apps.apple.com/us/app/food-lg/id1213299378">APP Store</a> or
<a href="https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&amp;hl=en_SG">Google Play</a>.
Watch this <a href="https://www.youtube.com/watch?v=MHp-saJiP-0">video</a> of Food(lg) for
more details.</p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/08/16/imda">Singapore IMDA Presentation</a></h1><p class="post-meta">August 16, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>A tutorial on SINGA was given at Singapore Infocomm Media Development Authority
(IMDA) on 16 August, 2019.</p>
<p>Snapshots of the tutorial:</p>
<p><img src="/blog/assets/imda2019_1.png" alt="snapshot1"> <img src="/blog/assets/imda2019_2.png" alt="snapshot2"></p>
</span></div><div class="read-more"><a class="button" href="/blog/2019/08/16/imda">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/06/27/google-summer-of-code">Google Summer of Code 2019</a></h1><p class="post-meta">June 27, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA participated in mentoring the Google Summer of Code 2019 project
<a href="https://summerofcode.withgoogle.com/projects/#5612088771215360">SpamAssassin: Statistical Classifier Plugin</a>.</p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/05/05/eu-fossa">EU FOSSA Apache Hackathon</a></h1><p class="post-meta">May 5, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA participated at
<a href="https://eufossa.github.io/apache-hackathon-2019/">EU FOSSA Apache Hackathon</a> in
Brussels on 4 and 5 May 2019.</p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2019/04/20/v2-0-0">Version 2.0.0</a></h1><p class="post-meta">April 20, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 2.0.0</strong> is now available, 20 April, 2019.
<a href="/docs/download-singa.html#incubating-v200-20-april-2019">Download SINGA v2.0.0</a></p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/12/14/DISI">DISI Trento Presentation</a></h1><p class="post-meta">December 14, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA was presented at
<a href="https://www.disi.unitn.it/">DISI, University of Trento, Italy</a> on 14
December 2018.</p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/07/16/DIBRIS">DIBRIS Genoa Presentation</a></h1><p class="post-meta">July 16, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p>SINGA was presented at
<a href="https://www.dibris.unige.it/">DIBRIS, University of Genoa, Italy</a> on 16 July
2018.9.</p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2018/06/09/v1-2-0">Version 1.2.0</a></h1><p class="post-meta">June 9, 2018</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 1.2.0</strong> is now available, 6 June, 2018.
<a href="/docs/download-singa.html#incubating-v120-6-june-2018">Download SINGA v1.2.0</a></p>
</span></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/blog/2017/02/12/v1-1-0">Version 1.1.0</a></h1><p class="post-meta">February 12, 2017</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/ApacheSINGA" target="_blank" rel="noreferrer noopener">Apache SINGA</a></p></div></header><article class="post-content"><div><span><p><strong>Version 1.1.0</strong> is now available, 12 Feb, 2017.
<a href="/docs/download-singa.html#incubating-v110-12-february-2017">Download SINGA v1.1.0</a></p>
</span></div></article></div><div class="docs-prevnext"></div></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="/en/#">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="/en/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>