Author: jinyang
Date: Mon Aug 17 14:26:35 2015
New Revision: 1696293

URL: http://svn.apache.org/r1696293
Log:
CMS commit to singa by jinyang

Modified:
    incubator/singa/site/trunk/content/markdown/docs/cnn.md

Modified: incubator/singa/site/trunk/content/markdown/docs/cnn.md
URL: 
http://svn.apache.org/viewvc/incubator/singa/site/trunk/content/markdown/docs/cnn.md?rev=1696293&r1=1696292&r2=1696293&view=diff
==============================================================================
--- incubator/singa/site/trunk/content/markdown/docs/cnn.md (original)
+++ incubator/singa/site/trunk/content/markdown/docs/cnn.md Mon Aug 17 14:26:35 
2015
@@ -19,16 +19,45 @@ Notice:    Licensed to the Apache Softwa
 This example will show you how to use SINGA to train a CNN model using cifar10 
dataset.
 
 ### Prepare for the data
-* Run the command `make download` and `make create`  in the folder 
`example/cifar10/` to download cifar10 dataset
-and prepare for the training and testing datashard.
-If you got the error no Makefile detected, rename Makefile.example to Makefile.
-
-### Set model and cluster configuration.
-* If you just want to use the training model provided in this example, you can 
just use model.conf file in current directory.
- In this example, we define a CNN model that contains 3 
convolution+relu+maxpooling+normalization layers.
+* First go to the `example/cifar10/` folder for preparing the dataset. There 
should be a makefile example called Makefile.example in the folder. Run the 
command `cp Makefile.example Makefile` to generate the makefile.
+Then run the command `make download` and `make create`  in the current folder 
to download cifar10 dataset and prepare for the training and testing datashard. 
+
+### Set job configuration.
+* If you just want to use the training model provided in this example, you can 
just use job.conf file in current directory. Fig. 1 gives an example of CNN 
struture. In this example, we define a CNN model that contains 3 
convolution+relu+maxpooling+normalization layers. 
+If you want to learn more about how it is configured, you can go to [Model 
Configuration](http://singa.incubator.apache.org/docs/model-config.html) to get 
details. 
+
+<div style = "text-align: center">
+<img src = "../images/cnn_example.png" style = "width: 280px"> <br/>Fig. 1: 
CNN example </img>
+</div>
+
 
 ### Run SINGA
-* Run the command `./bin/singa-run.sh -workspace=examples/cifar10` in the root 
folder of SINGA
+* All script of SINGA should be run in the root folder of SINGA.
+First you need to start the zookeeper service if zookeeper is not started. The 
command is `./bin/zk-service start`. 
+Then you can run the command `./bin/singa-run.sh -conf 
examples/cifar10/job.conf` to start a SINGA job using examples/cifar10/job.conf 
as the job configuration.
+After it is started, you should get a screenshots like the following:
+
+    xxx@yyy:zzz/incubator-singa$ ./bin/singa-run.sh -conf 
examples/cifar10/job.conf
+    Unique JOB_ID is 2
+    Record job information to /tmp/singa-log/job-info/job-2-20150817-055601
+    Executing : ./singa -conf /xxx/incubator-singa/examples/cifar10/job.conf 
-singa_conf /xxx/incubator-singa/conf/singa.conf -singa_job 2
+    E0817 06:56:18.868259 33849 cluster.cc:51] proc #0 -> 192.168.5.128:49152 
(pid = 33849)
+    E0817 06:56:18.928452 33871 server.cc:36] Server (group = 0, id = 0) start
+    E0817 06:56:18.928469 33872 worker.cc:134] Worker (group = 0, id = 0) start
+    E0817 06:57:13.657302 33849 trainer.cc:373] Test step-0, loss : 2.302588, 
accuracy : 0.077900
+    E0817 06:57:17.626708 33849 trainer.cc:373] Train step-0, loss : 2.302578, 
accuracy : 0.062500
+    E0817 06:57:24.142645 33849 trainer.cc:373] Train step-30, loss : 
2.302404, accuracy : 0.131250
+    E0817 06:57:30.813354 33849 trainer.cc:373] Train step-60, loss : 
2.302248, accuracy : 0.156250
+    E0817 06:57:37.556655 33849 trainer.cc:373] Train step-90, loss : 
2.301849, accuracy : 0.175000
+    E0817 06:57:44.971276 33849 trainer.cc:373] Train step-120, loss : 
2.301077, accuracy : 0.137500
+    E0817 06:57:51.801949 33849 trainer.cc:373] Train step-150, loss : 
2.300410, accuracy : 0.135417
+    E0817 06:57:58.682281 33849 trainer.cc:373] Train step-180, loss : 
2.300067, accuracy : 0.127083
+    E0817 06:58:05.578366 33849 trainer.cc:373] Train step-210, loss : 
2.300143, accuracy : 0.154167
+    E0817 06:58:12.518497 33849 trainer.cc:373] Train step-240, loss : 
2.295912, accuracy : 0.185417
+
+After the training of some steps (depends on the setting) or the job is 
finished, SINGA will checkpoint the current parameter. In the next time, you 
can train (or use for your application) by loading the checkpoint. Please refer 
to [Checkpoint](http://singa.incubator.apache.org/docs/checkpoint.html) for the 
use of checkpoint.
 
 ### Build your own model
-* If you want to specify you own model, then you need to decribe  it in the 
model.conf file. It should contain the neurualnet structure, training 
algorithm(backforward or contrastive divergence etc.), SGD update 
algorithm(e.g. Adagrad), number of training/test steps and training/test 
frequency, and display features and etc. SINGA will read model.conf as a Google 
protobuf class 
[ModelProto](https://github.com/apache/incubator-singa/blob/master/src/proto/model.proto).
 You can also refer to the [programming 
model](http://singa.incubator.apache.org/docs/programming-model.html) to get 
details.
+* If you want to specify you own model, then you need to decribe  it in the 
job.conf file. It should contain the neurualnet structure, training 
algorithm(backforward or contrastive divergence etc.), SGD update 
algorithm(e.g. Adagrad), number of training/test steps and training/test 
frequency, and display features and etc. SINGA will read job.conf as a Google 
protobuf class [JobProto](../src/proto/job.proto). You can also refer to the 
[Programmer 
Guide](http://singa.incubator.apache.org/docs/programmer-guide.html) to get 
details. 
+
+


Reply via email to