singa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wang...@apache.org
Subject [2/2] incubator-singa git commit: SINGA-225 Documentation for installation and Cifar10 example
Date Fri, 15 Jul 2016 14:44:56 GMT
SINGA-225 Documentation for installation and Cifar10 example

Update docs for installation and running the cnn model against Cifar10.


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/95091dcb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/95091dcb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/95091dcb

Branch: refs/heads/dev
Commit: 95091dcb61f00faaa772e5dbb180e86242185395
Parents: 722a59e
Author: Wei Wang <wangwei@comp.nus.edu.sg>
Authored: Fri Jul 15 22:35:22 2016 +0800
Committer: Wei Wang <wangwei@comp.nus.edu.sg>
Committed: Fri Jul 15 22:43:22 2016 +0800

----------------------------------------------------------------------
 doc/community/issue-tracking.md    |  2 +-
 doc/community/source-repository.md | 17 +++++-----
 doc/develop/schedule.rst           |  5 ++-
 doc/docs/cnn.md                    | 46 +++++++++++----------------
 doc/docs/installation.md           | 55 ++++++++++++++++++++++++++-------
 5 files changed, 72 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/95091dcb/doc/community/issue-tracking.md
----------------------------------------------------------------------
diff --git a/doc/community/issue-tracking.md b/doc/community/issue-tracking.md
index 1dd2f59..26b23dd 100644
--- a/doc/community/issue-tracking.md
+++ b/doc/community/issue-tracking.md
@@ -2,7 +2,7 @@
 
 ___
 
-The Singa project uses [JIRA](https://www.atlassian.com/software/jira) a J2EE-based, issue
tracking and project management application.
+SINGA uses [JIRA](https://www.atlassian.com/software/jira) a J2EE-based, issue tracking and
project management application.
 
 Issues, bugs, and feature requests should be submitted to the following issue tracking system
for this project.
 

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/95091dcb/doc/community/source-repository.md
----------------------------------------------------------------------
diff --git a/doc/community/source-repository.md b/doc/community/source-repository.md
index a8c571e..8864629 100644
--- a/doc/community/source-repository.md
+++ b/doc/community/source-repository.md
@@ -1,25 +1,22 @@
-## Source Repository
+# Source Repository
 
 ___
 
 This project uses [Git](http://git-scm.com/) to manage its source code. Instructions on Git
use can be found at [http://git-scm.com/documentation](http://git-scm.com/documentation).
 
-### Web Access
+## Web Access
 
 The following is a link to the online source repository.
 
 * [https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;a=summary](https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;a=summary)
 
-### Anonymous Access
 
-The source can be checked out anonymously from Git with this command (See [http://git-scm.com/docs/git-clone](http://git-scm.com/docs/git-clone)):
+## Upstream for committers
 
-	$ git clone https://git-wip-us.apache.org/repos/asf/incubator-singa.git
+Committers need to set the upstream endpoint to the Apache git (not github) repo address,
e.g.,
 
-### Developer Access
-
-	$ git clone https://git-wip-us.apache.org/repos/asf/incubator-singa.git
-
-The source can be checked out anonymously from Git with this command (See [http://git-scm.com/docs/git-clone](http://git-scm.com/docs/git-clone)):
+    $ git remote add asf https://git-wip-us.apache.org/repos/asf/incubator-singa.git
 
+Then you (committer) can push your code in this way,
 
+    $ git push asf <local-branch>:<remote-branch>

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/95091dcb/doc/develop/schedule.rst
----------------------------------------------------------------------
diff --git a/doc/develop/schedule.rst b/doc/develop/schedule.rst
index 4e2a826..2afe54f 100644
--- a/doc/develop/schedule.rst
+++ b/doc/develop/schedule.rst
@@ -1,7 +1,7 @@
 Development Schedule
 ====================
 
-.. csv-table:: 
+.. csv-table::
 	:header: "Release", "Module", "Feature", "Status"
 
 	" 0.1 Sep 2015     "," Neural Network          "," Feed forward neural network, including
CNN, MLP                                                                 "," done  "
@@ -29,8 +29,6 @@ Development Schedule
 	"                  "," Installation            "," Remove dependency on ZeroMQ, CZMQ, Zookeeper
for single node training","done"
 	"                  "," Updater                 "," Add new SGD updaters including Adam,
AdamMax and AdaDelta","done"
 	"                  "," Binding                 "," Enhance Python binding for training","done"
-	"0.4 June 2016     "," Rafiki                  "," Deep learning as a service "," "
-	"                  ","                         "," Product search using Rafiki"," "
 	"1.0 July 2016     "," Programming abstraction ","Tensor with linear algebra, neural net
and random operations "," "
 	"                  ","                         ","Updater for distributed parameter updating
",""
 	"                  "," Optimization            "," Execution and memory optimization",""
@@ -39,3 +37,4 @@ Development Schedule
 	"                  "," Cross-platform          "," To extend from Linux to MacOS and Windows",""
 	"                  "," Examples                "," Speech recognition example",""
 	"                  ","                         ","Large image models, e.g., [GoogLeNet](http://arxiv.org/abs/1409.4842),
[VGG](https://arxiv.org/pdf/1409.1556.pdf) and [Residual Net](http://arxiv.org/abs/1512.03385)",""
+	"     "," Rafiki                  "," Deep learning as a service "," "

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/95091dcb/doc/docs/cnn.md
----------------------------------------------------------------------
diff --git a/doc/docs/cnn.md b/doc/docs/cnn.md
index 6566e41..21ef1f7 100755
--- a/doc/docs/cnn.md
+++ b/doc/docs/cnn.md
@@ -1,27 +1,20 @@
 #Quickstart - Cifar10 example
-Convolutional neural network (CNN) is a type of feed-forward artificial neural network widely
used for image and video classification. In this example, we will use a deep CNN model to
do image classification for the [CIFAR10 dataset](http://www.cs.toronto.edu/~kriz/cifar.html).
+Convolution neural network (CNN) is a type of feed-forward artificial neural network widely
used for image classification. In this example, we will use a deep CNN model to do image classification
for the [CIFAR10 dataset](http://www.cs.toronto.edu/~kriz/cifar.html).
 
-## Running instructions of CPP version
-To run CNN example in CPP version, we need to compile SINGA first. In SINGA_ROOT, execute
the following instructions (can also refer to [Installation instructions](https://github.com/kaiping/singa_v1.0_doc/blob/master/installation.md))
+## Running instructions for CPP version
+Please refer to [Installation](installation.html) page for how to install SINGA. Currently,
we CNN requires CUDNN, hence both CUDA and CUDNN should be installed and SINGA should be compiled
with CUDA and CUDNN.
 
-    # in SINGA_ROOT
-    $ mkdir build
-    $ cd build/
-    # generate Makefile for compilation
-    $ cmake ..
-    # compile SINGA
-    $ make
-
-
-Now download the Cifar10 dataset by running the script download_data.py, remember that for
downloading CPP version data, we need `bin` as argument,
+The Cifar10 dataset could be downloaded by running
 
     # switch to cifar10 directory
     $ cd ../examples/cifar10
     # download data for CPP version
     $ python download_data.py bin
 
+'bin' is for downloading binary version of Cifar10 data.
+
 During downloading, you should see the detailed output like
-     
+
      Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
      The tar file does exist. Extracting it now..
      Finished!
@@ -73,20 +66,17 @@ You should see the detailed output as follows: first read the data files
in orde
     Epoch 3, training loss = 1.213776, accuracy = 0.571620, lr = 0.001000
     Epoch 3, val loss = 1.175346, metric = 0.582000
 
-The training details are stored in `train_perf` file in the same directory and the validation
details in `val_perf` file. 
-## Running instructions of Python version
-To run CNN example in Python version, we also need to compile SINGA first. In SINGA_ROOT,
execute the following instructions (can also refer to [Installation instructions](https://github.com/kaiping/singa_v1.0_doc/blob/master/installation.md))
+The training details are stored in `train_perf` file in the same directory and the validation
details in `val_perf` file.
 
-    # in SINGA_ROOT
-    $ mkdir build
-    $ cd build/
-    # generate Makefile for compilation
-    $ cmake ..
-    # compile SINGA
-    $ make
 
+## Running instructions for Python version
+To run CNN example in Python version, we need to compile SINGA with Python binding,
+
+    $ mkdir build && cd build
+    $ cmake -DUSE_PYTHON=ON ..
+    $ make
 
-Now download the Cifar10 dataset by running the script download_data.py, remember that for
downloading Python version data, we need `py` as argument,
+Now download the Cifar10 dataset,
 
     # switch to cifar10 directory
     $ cd ../examples/cifar10
@@ -94,7 +84,7 @@ Now download the Cifar10 dataset by running the script download_data.py,
remembe
     $ python download_data.py py
 
 During downloading, you should see the detailed output like
-     
+
      Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
      The tar file does exist. Extracting it now..
      Finished!
@@ -103,7 +93,7 @@ Then execute the `train.py` script to build the model
 
     $ python train.py
 
-You should see the output as follows including the details of neural net structure with some
parameter information, reading data files, and the performance details during training and
testing process. 
+You should see the output as follows including the details of neural net structure with some
parameter information, reading data files, and the performance details during training and
testing process.
 
     (32L, 32L, 32L)
     (32L, 16L, 16L)
@@ -148,4 +138,4 @@ You should see the output as follows including the details of neural net
structu
 
 This script will call `alexnet.py` file to build the alexnet model. After the training is
finished, SINGA will save the model parameters into a checkpoint file `model.bin` in the same
directory. Then we can use this `model.bin` file for prediction.
 
-    $ python predict.py
\ No newline at end of file
+    $ python predict.py

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/95091dcb/doc/docs/installation.md
----------------------------------------------------------------------
diff --git a/doc/docs/installation.md b/doc/docs/installation.md
index 6d80774..4aecb73 100755
--- a/doc/docs/installation.md
+++ b/doc/docs/installation.md
@@ -1,29 +1,62 @@
 #Building SINGA from source
-To install SINGA, please clone the newest code from [Github](https://github.com/apache/incubator-singa)
and execute the following commands,
 
-    
+## Dependencies
+
+### Required
+* Google Protobuf (>=2.5)
+* BLAS (tested with OpenBLAS >=0.2.10)
+* CUDA (tested with 6.5, 7.0 and 7.5)
+* CUDNN (v4 and v5)
+
+Uses must install the above mandatory libraries.
+Currently CUDA and CUNN are also mandatory, but it would become optional later.
+
+### Optional
+* Glog
+* OpenCV (tested with 2.4.8)
+* LMDB (tested with 0.9)
+
+
+## Instructions
+
+Please clone the newest code from [Github](https://github.com/apache/incubator-singa) and
execute the following commands,
+
+
     $ git clone https://github.com/apache/incubator-singa.git
     $ cd incubator-singa/
     # switch to dev branch
     $ git checkout dev
-  
-A SINGA uses CNMem as a submodule in lib/, execute the following commands to initialize and
update the submodules for SINGA, 
+
+
+If you use CUDA, then [CNMeM](https://github.com/NVIDIA/cnmem) is necessary,
+which could be downloaded as
 
     $ git submodule init
     $ git submodule update
 
+
+### Linux OS
+
 Then in SINGA_ROOT, execute the following commands for compiling SINGA,
 
-    $ mkdir build
-    $ cd build/
+    $ mkdir build && cd build
     # generate Makefile for compilation
     $ cmake ..
     # compile SINGA
     $ make
 
-After compiling SINGA, in order to test all components of SINGA, please execute the following
commands,
-    
-    $ cd bin/
-    $ ./test_singa
+You can use `ccmake ..` to configure the compilation options including using
+LMDB, GLOG, etc.
+
+After compiling SINGA, you can run the unit tests by
+
+    $ ./bin/test_singa
+
+You can see all the testing cases with testing results. If SINGA passes all
+tests, then you have successfully installed SINGA. Please proceed to enjoy SINGA!
+
+
+### MacOS
+
 
-You can see all the testing cases with testing results. If SINGA has passes all tests, then
you have successfully installed SINGA. Please proceed to enjoy SINGA!
\ No newline at end of file
+### Windows


Mime
View raw message