


<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>singa-incubating-1.2.0 Release Notes &mdash; singa 2.0.0 documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript">
          var DOCUMENTATION_OPTIONS = {
              URL_ROOT:'../',
              VERSION:'2.0.0',
              LANGUAGE:'None',
              COLLAPSE_INDEX:false,
              FILE_SUFFIX:'.html',
              HAS_SOURCE:  true,
              SOURCELINK_SUFFIX: '.txt'
          };
      </script>
        <script type="text/javascript" src="../_static/jquery.js"></script>
        <script type="text/javascript" src="../_static/underscore.js"></script>
        <script type="text/javascript" src="../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
    integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
    .fa:hover {
        opacity: 0.7;
    }

    .fab:hover {
        opacity: 0.7;
    }
</style>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home"> singa
          

          
            
            <img src="../_static/singa.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
              <div class="version">
                latest
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
</ul>
<p class="caption"><span class="caption-text">Community</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../community/source-repository.html">Source Repository</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/mail-lists.html">Project Mailing Lists</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/issue-tracking.html">Issue Tracking</a></li>
<li class="toctree-l1"><a class="reference internal" href="../community/team-list.html">The SINGA Team</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">singa</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html">Docs</a> &raquo;</li>
        
      <li>singa-incubating-1.2.0 Release Notes</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <!--
    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.
--><div class="section" id="singa-incubating-1-2-0-release-notes">
<h1>singa-incubating-1.2.0 Release Notes<a class="headerlink" href="#singa-incubating-1-2-0-release-notes" title="Permalink to this headline">¶</a></h1>
<hr class="docutils" />
<p>SINGA is a general distributed deep learning platform for training big deep
learning models over large datasets.</p>
<p>This release includes following features:</p>
<ul class="simple">
<li>Core components<ul>
<li>[SINGA-290] Upgrade to Python 3</li>
<li>[SINGA-341] Added stride functionality to tensors for CPP</li>
<li>[SINGA-347] Create a function that supports einsum</li>
<li>[SINGA-351] Added stride support and cudnn codes to cuda</li>
</ul>
</li>
<li>Model components<ul>
<li>[SINGA-300] Add residual networks for imagenet classification</li>
<li>[SINGA-312] Rename layer parameters</li>
<li>[SINGA-313] Add L2 norm layer</li>
<li>[SINGA-315] Reduce memory footprint by Python generator for parameter</li>
<li>[SINGA-316] Add SigmoidCrossEntropy</li>
<li>[SINGA-324] Extend RNN layer to accept variant seq length across batches</li>
<li>[SINGA-326] Add Inception V4 for ImageNet classification</li>
<li>[SINGA-328] Add VGG models for ImageNet classification</li>
<li>[SINGA-329] Support layer freezing during training (fine-tuning)</li>
<li>[SINGA-346] Update cudnn from V5 to V7</li>
<li>[SINGA-349] Create layer operations for autograd</li>
<li>[SINGA-363] Add DenseNet for Imagenet classification</li>
</ul>
</li>
<li>Utility functions and CI<ul>
<li>[SINGA-274] Improve Debian packaging with CPack</li>
<li>[SINGA-303] Create conda packages</li>
<li>[SINGA-337] Add test cases for code</li>
<li>[SINGA-348] Support autograd MLP Example</li>
<li>[SINGA-345] Update Jenkins and fix bugs in compliation</li>
<li>[SINGA-354] Update travis scripts to use conda-build for all platforms</li>
<li>[SINGA-358] Consolidated RUN steps and cleaned caches in Docker containers</li>
<li>[SINGA-359] Create alias for conda packages</li>
</ul>
</li>
<li>Documentation and usability<ul>
<li>[SINGA-223] Fix side navigation menu in the website</li>
<li>[SINGA-294] Add instructions to run CUDA unit tests on Windows</li>
<li>[SINGA-305] Add jupyter notebooks for SINGA V1 tutorial</li>
<li>[SINGA-319] Fix link errors on the index page</li>
<li>[SINGA-352] Complete SINGA documentation in Chinese version</li>
<li>[SINGA-361] Add git instructions for contributors and committers</li>
</ul>
</li>
<li>Bugs fixed<ul>
<li>[SINGA-330] fix openblas building on i7 7700k</li>
<li>[SINGA-331] Fix the bug of tensor division operation</li>
<li>[SINGA-350] Error from python3 test</li>
<li>[SINGA-356] Error using travis tool to build SINGA on mac os</li>
<li>[SINGA-363] Fix some bugs in imagenet examples</li>
<li>[SINGA-368] Fix the bug in Cifar10 examples</li>
<li>[SINGA-369] the errors of examples in testing</li>
</ul>
</li>
</ul>
</div>


           </div>
           
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2019 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.

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  

<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
    <span class="rst-current-version" data-toggle="rst-current-version">
        <span class="fa fa-book"> singa </span>
        v: latest
        <span class="fa fa-caret-down"></span>
    </span>
    <div class="rst-other-versions">
        <dl>
            <dt>Languages</dt>
            <dd><a href=".././index.html">English</a></dd>
            <dd><a href=".././zh/index.html">中文</a></dd>
        </dl>
        <dl>
            <dt>Versions</dt>
            <dd><a href="http://singa.apache.org/v0.3.0/">0.3</a></dd>
            <dd><a href="http://singa.apache.org/v1.1.0/">1.1</a></dd>
        </dl>

    </div>

    <a href="http://www.apache.org"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
    <a href="http://www.apache.org/events/current-event"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
    <a href="http://www.apache.org/foundation/thanks.html"
        style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
    <a href="http://www.apache.org/foundation/sponsorship.html"
        style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
    <a href="http://www.apache.org/licenses/"
        style="color:lightblue;padding: 5px; font-size: 10px;  text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
    <br>
    <a href="https://github.com/apache/singa" class="fa fa-github"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c"
        class="fab fa-aws"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.linkedin.com/groups/13550034" class="fa fa-linkedin"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://twitter.com/ApacheSinga" class="fa fa-twitter"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.facebook.com/Apache-SINGA-347284219056544/" class="fa fa-facebook"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
    <a href="https://www.researchgate.net/project/Apache-SINGA" class="fab fa-researchgate"
        style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>

</div>

<a href="https://github.com/apache/singa">
    <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub">
</a>

 


</body>
</html>