Apache SINGA

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 58.182.36.185 (talk) at 12:38, 11 August 2018 (→‎Using SINGA). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Apache SINGA
Developer(s)Apache Software Foundation
Initial releaseOctober 8, 2015; 8 years ago (2015-10-08)
Stable release
1.2.0 / June 6, 2018; 5 years ago (2018-06-06)
Repository
Written inC++, Python, Java
Operating systemLinux, macOS, Windows
LicenseApache License 2.0
Websitesinga.apache.org

Apache SINGA is an Apache Incubating project for developing an open source machine learning library. It provides a flexible architecture for scalable distributed training, is extensible to run over a wide range of hardware, and has a focus on health-care applications.

History

The SINGA project was initiated by the DB System Group at National University of Singapore in 2014, in collaboration with the database group of Zhejiang University. It focused on distributed deep learning by partitioning the model and data onto nodes in a cluster and parallelize the training.[1][2] The prototype was accepted by Apache Incubator in March 2015. Six versions have been released as shown in the following table. Since V1.0, SINGA is general to support traditional machine learning models such as logistic regression. Companies like NetEase[3], yzBigData,Shentilium and others are using SINGA for their applications, including healthcare and finance.

Version Original release date Latest version Release date
Current stable version: 1.2.0 2018-06-06 1.2.0 2018-06-06
Older version, yet still maintained: 1.1.0 2017-02-12 1.1.0 2017-02-12
Older version, yet still maintained: 1.0.0 2016-09-08 1.0.0 2016-09-08
Old version, no longer maintained: 0.3.0 2016-04-20 0.1.0 2016-04-20
Old version, no longer maintained: 0.2.0 2016-01-14 0.2.0 2016-01-14
Old version, no longer maintained: 0.1.0 2015-10-08 0.1.0 2015-10-08
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Software Stack

SINGA's software stack includes three major components, namely, core, IO and model. The following figure illustrates these components together with the hardware. The core component provides memory management and tensor operations; IO has classes for reading (and writing) data from (to) disk and network; The model component provides data structures and algorithms for machine learning models, e.g., layers for neural network models, optimizers/initializer/metric/loss for general machine learning models.

Apache Singa software stack
Apache Singa software stack

Using SINGA

To get started with SINGA, there are some tutorials available as Jupyter notebooks. The tutorials cover the following:

There is also an online course about SINGA.

See also

References

  1. ^ Ooi, Beng Chin; Tan, Kian-Lee; Sheng, Wang; Wang, Wei; Cai, Qingchao; Chen, Gang; Gao, Jinyang; Luo, Zhaojing; Tung, Anthony K. H.; Wang, Yuan; Xie, Zhongle; Zhang, Meihui; Zheng, Kaiping (2015). "SINGA: A distributed deep learning platform" (PDF). ACM Multimedia. doi:10.1145/2733373.2807410. Retrieved 8 September 2016.
  2. ^ Wei, Wang; Chen, Gang; Anh Dinh, Tien Tuan; Gao, Jinyang; Ooi, Beng Chin; Tan, Kian-Lee; Sheng, Wang (2015). "SINGA: putting deep learning in the hands of multimedia users" (PDF). ACM Multimedia. doi:10.1145/2733373.2806232. Retrieved 8 September 2016.
  3. ^ 网易. "网易携手Apache SINGA角逐人工智能新战场_网易科技". tech.163.com. Retrieved 2017-06-03.

External links