singa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wang...@apache.org
Subject svn commit: r1833193 [7/17] - in /incubator/singa/site/trunk: en/ en/_sources/ en/_sources/develop/ en/_sources/docs/ en/_sources/docs/model_zoo/examples/imagenet/densenet/ en/_sources/docs/model_zoo/examples/imagenet/vgg/ en/_sources/releases/ en/comm...
Date Fri, 08 Jun 2018 15:29:02 GMT
Added: incubator/singa/site/trunk/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,66 @@
+name: GoogleNet on ImageNet
+
+SINGA version: 1.0.1
+
+SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
+
+parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+
+parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
+
+license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
+
+---
+
+# 用GoogleNet做图像分类
+
+
+这个例子中,我们将caffe训练好的GoogleNet转换为SINGA模型以用作图像分类。
+
+## 操作说明
+
+* 下载参数的checkpoint文件到如下目录
+
+        $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+        $ tar xvf bvlc_googlenet.tar.gz
+
+* 运行程序
+
+        # use cpu
+        $ python serve.py -C &
+        # use gpu
+        $ python serve.py &
+
+* 提交图片进行分类
+
+        $ curl -i -F image=@image1.jpg http://localhost:9999/api
+        $ curl -i -F image=@image2.jpg http://localhost:9999/api
+        $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg和image3.jpg应该在执行指令前就已被下载。
+
+## 详细信息
+
+我们首先从[Caffe的checkpoint文件](http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel)中提取参数值,并转换为pickle版本。下载checkpoint文件后进入`caffe_root/python`文件夹,运行如下脚本: 
+
+    # to be executed within caffe_root/python folder
+    import caffe
+    import numpy as np
+    import cPickle as pickle
+
+    model_def = '../models/bvlc_googlenet/deploy.prototxt'
+    weight = 'bvlc_googlenet.caffemodel'  # must be downloaded at first
+    net = caffe.Net(model_def, weight, caffe.TEST)
+
+    params = {}
+    for layer_name in net.params.keys():
+        weights=np.copy(net.params[layer_name][0].data)
+        bias=np.copy(net.params[layer_name][1].data)
+        params[layer_name+'_weight']=weights
+        params[layer_name+'_bias']=bias
+        print layer_name, weights.shape, bias.shape
+
+    with open('bvlc_googlenet.pickle', 'wb') as fd:
+        pickle.dump(params, fd)
+
+然后我们使用SINGA的FeedForwardNet结构构建GoogleNet。 请注意,我们添加了一个EndPadding层来解决Caffe(下取整)和cuDNN(上取整)之间池化图层舍入策略差异的问题。 只有MaxPooling图层以外的启动块才有此问题。 参考[这里](http://joelouismarino.github.io/blog_posts/blog_googlenet_keras.html)更多详情。

Added: incubator/singa/site/trunk/zh/_sources/docs/model_zoo/index.rst.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/model_zoo/index.rst.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/model_zoo/index.rst.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/model_zoo/index.rst.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,29 @@
+..
+.. 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.
+..
+
+模型库
+=========
+
+.. toctree::
+
+   cifar10/README
+   char-rnn/README
+   imagenet/alexnet/README
+   imagenet/googlenet/README
+
+

Added: incubator/singa/site/trunk/zh/_sources/docs/net.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/net.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/net.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/net.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,169 @@
+# 前馈网络
+
+Neural net类用层来创建网络并提供可以获取网络信息(比如:参数)的函数。
+
+示例用法:
+
+```python
+from singa import net as ffnet
+from singa import metric
+from singa import loss
+from singa import layer
+from singa import device
+
+# create net and add layers
+net = ffnet.FeedForwardNet(loss.SoftmaxCrossEntropy(), metric.Accuracy())
+net.add(layer.Conv2D('conv1', 32, 5, 1, input_sample_shape=(3,32,32,)))
+net.add(layer.Activation('relu1'))
+net.add(layer.MaxPooling2D('pool1', 3, 2))
+net.add(layer.Flatten('flat'))
+net.add(layer.Dense('dense', 10))
+
+# init parameters
+for p in net.param_values():
+    if len(p.shape) == 0:
+        p.set_value(0)
+    else:
+        p.gaussian(0, 0.01)
+
+# move net onto gpu
+dev = device.create_cuda_gpu()
+net.to_device(dev)
+
+# training (skipped)
+
+# do prediction after training
+x = tensor.Tensor((2, 3, 32, 32), dev)
+x.uniform(-1, 1)
+y = net.predict(x)
+print tensor.to_numpy(y)
+```
+
+---
+
+### class singa.net.FeedForwardNet(loss=None, metric=None)
+
+基类:`object`
+
+#### to_device(dev)
+
+将网络移至指定设备上,包括所有参数和中间数据。
+
+---
+
+#### add(lyr, src=None)
+
+添加一个层到层列表中。
+
+该功能将从src层获取样本形状以设置新添加的层。 对于第一层,它被设置在外部。 调用函数应确保层顺序的正确性。 如果src是None,最后一层是src层。 如果有多个src图层,则src是src层的列表。
+
+**参数:**
+- **lyr (Layer)** – 待添加的层
+- **src (Layer)** – lyr层的父层
+
+---
+
+#### param_values()
+
+返回所有参数的tensor列表。
+
+---
+
+#### param_specs()
+
+返回所有参数的ParamSpec列表。
+
+---
+
+#### param_names()
+
+返回所有参数名列表。。
+
+---
+
+#### train(x, y)
+
+运行一次BP。
+目前仅支持单输出层、单损失函数及度量方法的网络。 TODO(wangwei) 考虑多损失函数和多度量值。
+
+**参数:**
+- **x** – 输入数据,一个输入tensor或字典:层名->tensor
+- **y** – 输入数据的标签,一个tensor
+
+**返回值:** 参数梯度,损失函数和度量值
+
+---
+
+#### evaluate(x, y)
+
+根据给定数据评估损失函数和度量值。目前仅支持单输出层、单损失函数及度量方法的网络。TODO(wangwei) 考虑多损失函数和多度量值。
+
+**参数:**
+- **x** – 输入数据,单个tensor或一个字典: 层名 -> tensor
+- **y** – 输入数据的标签,单个tensor.
+
+---
+
+#### predict(x)
+
+向前经每个层传递数据到输出层并获得输出值。
+目前仅支持单输出层的网络。
+
+**参数:**
+- **x** - 输入数据,单个tesnor或一个字典: 层名 -> tensor
+
+**返回值:** 单个输出tensor作为预测结果
+
+---
+
+#### topo_sort(layers, src_of_layer)
+
+对所有层进行拓扑排序。
+对于多输入层,将会保留输入层的顺序。
+
+**参数:**
+- **layers** – 层列表;同个层(如slice层)的多个输出层应该以正确的顺序加入,此功能将不会改变其顺序。
+- **src_of_layer** – 字典: src层名 -> src层列表
+
+**返回值:** 排序后层列表
+
+---
+
+#### forward(flag, x, output=[])
+
+将输入经过每个层向前传递。
+如果一个层具有来自其他层和来自x的输入,则来自x的数据在来自其他层的数据之前被排序,例如,如果层1->层2并且x [‘layer2’]具有数据,则输入层2展平,即[x ['layer2'],层1的输出]
+
+**参数:**
+- **flag** – True代表训练;False代表评估;也可以是model_pb2.kTrain或model_pb2.kEval或者其他未来可能使用的值。
+- **x** – 一个tensor或一个字典:层名 -> tensor
+- **output(list)** – 层名列表,将会和默认输出一起作为返回值
+
+**返回值:** 如果只有一个输出层,返回输出tensor;否则返回字典:层名->输出tensor
+
+---
+
+#### backward()
+
+运行向后传递
+
+**返回值:** 所有参数的梯度tensor列表。
+
+---
+
+#### save(f, buffer_size=10, use_pickle=False)
+
+用io/snapshot保存模型参数。
+
+**参数:**
+- **f** – 文件名
+- **buffer_size** – 输入输出的大小(MB),默认为10MB;请确保它比任何一个参数对象要大。 
+- **use_pickle(boolean)** – 如果为真,将使用pickle保存;否则,将用protobuf做序列化,会占用较少空间。
+
+---
+
+#### load(f, buffer_size=10, use_pickle=False)
+
+用io/snapshot加载模型参数。请参照save()的参数描述。
+
+---

Added: incubator/singa/site/trunk/zh/_sources/docs/optimizer.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/optimizer.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/optimizer.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/optimizer.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,237 @@
+# 优化器(Optimizer)
+
+这个模块包含一系列用于模型参数更新的优化器。
+
+示例用法:
+
+```python
+from singa import optimizer
+from singa import tensor
+
+sgd = optimizer.SGD(lr=0.01, momentum=0.9, weight_decay=1e-4)
+p = tensor.Tensor((3,5))
+p.uniform(-1, 1)
+g = tensor.Tensor((3,5))
+g.gaussian(0, 0.01)
+
+sgd.apply(1, g, p, 'param')  # use the global lr=0.1 for epoch 1
+sgd.apply_with_lr(2, 0.03, g, p, 'param')  # use lr=0.03 for epoch 2
+```
+
+-----
+
+### class singa.optimizer.Optimizer(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)
+
+基类:`object`
+
+Python优化器类的基类。
+典型地,优化器有如下作用:
+
+1. 构建优化器
+2. (可选)以参数名为注册每种参数
+3. 使用优化器依照给定参数梯度及其他信息更新参数值
+
+它的子类应该重写apply_with_lr函数已用于真实的参数更新。
+
+**参数:**
+- **lr (float)** – 学习速率
+- **momentum (float)** – 动量
+- **weight_decay (float)** – L2正则化系数,被排除于‘regularizer’之外
+- **regularizer** –  Regularizer或RegularizerConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。
+- **constraint** – Constraint或ConstraintConf实例;如被设置,正则化将被用于apply_with_lr()。 用户也可以在优化器外部做正则化。
+
+-----
+
+#### register(name, specs)
+
+注册参数,包括为每个参数对象创建正则化和约束条件。 这里参数特定的正则化和约束比全局设置有更高优先级。 如果所有参数对于学习速率、正规化器和约束条件共享相同的设置,则不需要调用该函数。
+
+**参数:**
+- **name (str)** – 参数名
+- **specs (ParamSpec)** – protobuf对象,包括正则化和约束条件、学习速率和权值衰减乘子。
+
+-----
+
+#### apply_regularizer_constraint(epoch, value, grad, name=None, step=-1)
+
+如果可用,将采用正则化和约束条件。 如果全局正则化和参数特定的正则化都存在,会采用参数特定的正则化。
+
+**参数:**
+- **epoch (int)** – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)
+- **value (Tensor)** – 参数Tensor
+- **grad (Tensor)** – 参数梯度Tensor
+- **name (string)** – 参数名以索引到特定的规则(正则化或约束条件)
+- **step (int)** – 每个epoch内的迭代ID
+
+**返回值:** 更新后的梯度tensor
+
+-----
+
+#### apply_with_lr(epoch, lr, grad, value, name=None, step=-1)
+
+如果grad非空,则根据给定学习速率更新参数。
+
+子类优化器必须重写这个函数。如果grad为空,将不做任何操作。
+
+**参数:**
+- **epoch (int)** – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)
+- **lr (float)** – 学习速率
+- **value (Tensor)** – 参数Tensor
+- **grad (Tensor)** – 参数梯度Tensor
+- **name (string)** – 参数名以索引到特定的规则(正则化或约束条件)
+- **step (int)** – 每个epoch内的迭代ID
+**返回值:** 更新后的参数值
+
+-----
+
+#### apply(epoch, grad, value, name=None, step=-1)
+
+假设学习速率生成器配置完成,完成参数更新。 子类不需要重写这个函数。
+
+**参数:**
+- **epoch (int)** – 训练的epoch ID (完整训练一遍训练数据称为一个epoch)
+- **value (Tensor)** – 参数Tensor
+- **grad (Tensor)** – 参数梯度Tensor
+- **name (string)** – 参数名以索引到特定的规则(正则化或约束条件)
+- **step (int)** – 每个epoch内的迭代ID
+
+**返回值:** 更新后的参数值
+
+-----
+
+### class singa.optimizer.SGD(lr=None, momentum=None, weight_decay=None, regularizer=None, constraint=None)
+
+基类:`singa.optimizer.Optimizer`
+
+原始的包含动量的随机梯度下降算法。 参数详见Optimizer基类。
+
+
+#### apply_with_lr(epoch, lr, grad, value, name, step=-1)
+
+-----
+
+### class singa.optimizer.Nesterov(lr=None, momentum=0.9, weight_decay=None, regularizer=None, constraint=None)
+
+基类:`singa.optimizer.Optimizer`
+
+包含Nesterov动量的随机梯度下降算法。参数详见Optimizer基类。
+
+#### apply_with_lr(epoch, lr, grad, value, name, step=-1)
+
+-----
+
+### class singa.optimizer.RMSProp(rho=0.9, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)
+
+基类:`singa.optimizer.Optimizer`
+
+RMSProp优化器。构造器参数请参考Optimizer基类。
+
+**参数:**
+- **rho (float)** – [0, 1]间的浮点数
+- **epsilon (float)** – 很小的值,以避免数值误差
+
+#### apply_with_lr(epoch, lr, grad, value, name, step=-1)
+
+-----
+
+### class singa.optimizer.AdaGrad(epsilon=1e-08, lr=None, weight_decay=None, lr_gen=None, regularizer=None, constraint=None)
+
+基类:`singa.optimizer.Optimizer`
+
+AdaGrad优化器。构造器参数请参考Optimizer基类。
+
+**参数:** 
+- **epsilon (float)** – 很小的值,以避免数值误差
+
+#### apply_with_lr(epoch, lr, grad, value, name, step=-1)
+
+-----
+
+### class singa.optimizer.Adam(beta_1=0.9, beta_2=0.999, epsilon=1e-08, lr=None, weight_decay=None, regularizer=None, constraint=None)
+
+基类:`singa.optimizer.Optimizer`
+
+Ada优化器。构造器参数请参考Optimizer基类。
+
+**参数:**
+- **beta_1 (float)** – 动量系数
+- **beta_2 (float)** – 整合的梯度平方的系数
+- **epsilon (float)** – 很小的值,以避免数值误差
+
+#### apply_with_lr(epoch, lr, grad, value, name, step=-1)
+
+更新一个参数对象
+
+**参数:**
+- **step (int)** – 累积训练迭代数,而不是当前迭代ID
+
+-----
+
+### class singa.optimizer.Regularizer
+
+基类:`object`
+
+Python参数梯度正则化的基类。
+
+#### apply(epoch, value, grad, step=-1)
+
+-----
+
+### class singa.optimizer.CppRegularizer(conf)
+
+基类:`singa.optimizer.Regularizer`
+
+正则化的封装使用C++实现。
+
+**参数:**
+- **conf (RegularizerConf)** – protobuf配置信息
+
+#### apply(epoch, value, grad, step=-1)
+
+-----
+
+### class singa.optimizer.L2Regularizer(coefficient)
+
+基类:`singa.optimizer.Regularizer`
+
+L2正则化。
+
+**参数:**
+- **coefficient (float)** – 正则化系数
+
+#### apply(epoch, value, grad, step=-1)
+
+-----
+
+### class singa.optimizer.Constraint
+
+基类:`object`
+
+Python参数梯度约束的基类。
+
+#### apply(epoch, value, grad, step=-1)
+
+-----
+
+### class singa.optimizer.CppConstraint(conf)
+
+基类:`singa.optimizer.Constraint`
+
+约束的封装使用C++实现。
+
+**参数:**
+- **conf (RegularizerConf)** – protobuf配置信息
+
+#### apply(epoch, value, grad, step=-1)
+
+-----
+
+### class singa.optimizer.L2Constraint(threshold=None)
+
+基类:`singa.optimizer.Constraint`
+
+梯度缩放使得L2 norm小于给定阀值。
+
+#### apply(epoch, value, grad, step=-1)
+
+-----

Added: incubator/singa/site/trunk/zh/_sources/docs/snapshot.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/snapshot.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/snapshot.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/snapshot.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,42 @@
+# Snapshot
+
+此模块包含io::snapshot类及其方法。
+
+示例用法:
+
+```python
+from singa import snapshot
+
+sn1 = snapshot.Snapshot('param', False)
+params = sn1.read()  # read all params as a dictionary
+
+sn2 = snapshot.Snapshot('param_new', False)
+for k, v in params.iteritems():
+    sn2.write(k, v)
+```
+
+---
+
+### class singa.snapshot.Snapshot(f, mode, buffer_size=10)
+
+`singa::Snapshot`类和成员函数。
+
+---
+
+#### read()
+
+调用read方法加载所有信息(参数名,参数值)。
+
+**返回值:** (参数名,参数值)的字典
+
+---
+
+#### write(param_name, param_val)
+
+调用write方法写回参数。
+
+**参数:**
+- **param_name (string)** – 参数名
+- **param_val (Tensor)** – 参数值的tensor
+
+---

Added: incubator/singa/site/trunk/zh/_sources/docs/software_stack.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/software_stack.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/software_stack.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/software_stack.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,61 @@
+# 软件架构
+
+SINGA的软件架构包括三个主要部分,即核心(Core),输入输出(IO)和模型(Model)。 图1阐述了这些组件以及硬件。核心部分提供了内存管理和张量操作;输入输出包括从(向)磁盘和网络读取(写入)的类;模型部分为机器学习模型提供数据结构和算法支持,比如用于神经网络模型的层,用于通用机器学习模型的优化器/初始化/度量/损失函数等。
+
+
+<img src="../_static/images/singav1-sw.png" align="center" width="500px"/>
+<br/>
+<span><strong>Figure 1 - SINGA V1 software stack.</strong></span>
+
+## 核心
+
+张量([Tensor](tensor.html))和设备([Device](device.html))是SINGA的两个核心抽象类。 Tensor代表了一个多维数组,存储了模型的变量并且为机器学习算法提供线性代数的操作,这些操作包括矩阵乘法和随机函数。每个Tensor实例被分配在一个设备实例上。 每个Device实例被创建在一台硬件设备上,如GPU或CPU核上。设备类用于管理张量所占用的内存以及在执行单元上执行张量操作,比如CPU线程或CUDA流。
+
+依赖于硬件和编程语言,SINGA实现了以下特定的设备类:
+
+* **CudaGPU** 代表一个Nvidia GPU。 执行单元是CUDA流。
+* **CppCPU** 代表一个CPU。 执行单元是CPU线程。
+* **OpenclGPU** 代表Nvidia和AMD的GPU。执行单元是CommandQueues。OpenCL和很多硬件设备兼容,比如FPGA和ARM,所以OpenclGPU可以扩展到其他设备上。
+
+不同类型的设备使用不同编程语言书写用于张量操作的核函数,
+
+* CppMath (tensor_math_cpp.h) 用Cpp实现了CppCPU的张量操作
+* CudaMath (tensor_math_cuda.h) 用CUDA实现了CudaGPU的张量操作
+* OpenclMath (tensor_math_opencl.h) 用OpenCL实现了OpenclGPU的张量操作
+
+另外,不同类型的数据,比如float32和float16,可以通过加入相应的张量函数来支持。
+
+典型地,用户将创建一个Device实例并把它传给多个Tensor实例。 当用户调用Tensor函数时,这些函数会自动唤起对应的实现(CppMath/CudaMath/OpenclMath)。 换句话说,Tensor操作的实现对用户是透明的。
+
+大多数机器学习算法可以用(紧密的或稀疏的)Tensor表达。 所以,通过张量的抽象,SINGA可以运行很多模型,包括深度学习模型和其他传统机器学习模型。 
+
+Tensor和Device的抽象化可以扩展通过不同编程语言以支持大量硬件设备。 一个新的硬件设备可以通过添加一个新的Device子类和实现相应的张量操作(xxxMath)加以支持。
+
+基于速度和空间占用的优化可以被Device实现。 它管理着操作执行和内存的分配和释放。 更多的优化细节可以在[Device页面](device.html)看到。
+
+
+## 模型
+
+在Tensor和Device的抽象化之上,SINGA提供了更高级的类用于机器学习模型。
+
+* [Layer](layer.html)和它的子类特别用于神经网络。 每个层为向前传递特征和向后传递梯度提供函数支持。 它们将复杂的操作封装起来使用户可以很容易创建神经网络连接一系列层。
+
+* [Initializer](initializer.html)和它的子类为初始化模型参数(存储在Tesnor实例中)提供了可变的方法,包括Uniform,Gaussian等等。
+
+* [Loss](loss.html)和它的子类定义了训练目标损失函数。与目标损失对应的计算损失值和计算梯度的函数都已被实现。 常见的损失函数包括平方差和交叉熵。
+
+* [Metric](metric.html)和它的子类提供了评估模型性能的函数,比如精确度。
+
+* [Optimizer](optimizer.html)和它的子类实现了如何利用参数梯度更新模型参数的方法,包括SGD, AdaGrad, RMSProp等等。
+
+
+## 输入输出
+
+输入输出包含数据加载,数据预处理和信息传递类。
+
+* Reader和它的子类从磁盘文件加载字符串记录
+* Writer和它的子类将字符串记录写到磁盘文件中
+* Encoder和它的子类将Tensor实例编译成字符串记录
+* Decoder和它的子类将字符串记录解码为Tensor实例
+* Endpoint代表为消息传递提供函数的交互终端
+* Message代表Endpoint实例间的交互消息。它会传递元数据和负载

Added: incubator/singa/site/trunk/zh/_sources/docs/tensor.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/tensor.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/tensor.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/tensor.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,683 @@
+# 张量(Tensor)
+
+每个Tensor实例都是一个分配在特定Device实例上的多维数组。 Tensor实例存储了变量并提供了用户不可见的支持多种设备的代数操作。注意,用户需要确保除了拷贝之外的tensor操作都是在相同的设备上进行的。
+
+Tensor的实现
+
+SINGA有三种Tensor函数的实现,分别在不同设备上。
+
+* `tensor_math_cpp.h` 用Cpp实现了CppCPU上的各种操作
+* `tensor_math_cuda.h` 用Cuda (和cuBLAS)实现了CudaGPU上的各种操作
+* `tensor_math_opencl.h` 用OpenCL实现了OpenclGPU上的各种操作
+
+
+## PYTHON API
+
+用法示例:
+
+```python
+import numpy as np
+from singa import tensor
+from singa import device
+
+# create a tensor with shape (2,3), default CppCPU device and float32
+x = tensor.Tensor((2, 3))
+x.set_value(0.4)
+
+# create a tensor from a numpy array
+npy = np.zeros((3, 3), dtype=np.float32)
+y = tensor.from_numpy(npy)
+
+y.uniform(-1, 1)  # sample values from the uniform distribution
+
+z = tensor.mult(x, y)  # gemm -> z of shape (2, 3)
+
+x += z  # element-wise addition
+
+dev = device.get_default_device()
+x.to_device(dev)  # move the data to a gpu device
+
+r = tensor.relu(x)
+
+s = tensor.to_numpy(r)  # tensor -> numpy array
+```
+
+有两种类型的tensor函数:
+
+**Tensor成员函数**
+
+将会改变Tensor实例的状态
+
+**Tensor模块化函数**
+
+接受Tensor实例作为自变量以及返回Tensor实例
+
+每个Tensor实例在读取数据前都必须做初始化
+
+---
+
+### class singa.tensor.Tensor(shape=None, device=None, dtype=0)
+
+创建Py Tensor,封装了一个基于swig转换的CPP Tensor。
+三个参数分别是Tensor的三个属性。
+
+**参数:**
+- **shape (list<int>)** – 一个列表的整形数据作为Tensor的形状。如果shape没有指定,将会创建一个伪Tensor。
+- **device** – swig转化的使用设备模块化的Device实例。 如果为None,默认的CPU设备将会被使用。
+- **dtype** – 数据类型。 目前,大多数操作仅支持kFloat32。
+
+---
+
+#### T()
+
+浅拷贝。
+
+**返回值:** 一个新Tensor,共享底层数据所占内存,但标记为该tensor的转置版本。
+
+---
+
+#### add_column(v)
+
+对该Tensor每列加上一个tensor。
+
+**参数:**
+- **v (Tensor)** – 被作为一列加到原tensor的Tensor
+
+---
+
+#### add_row(v)
+
+对该tensor每行加一个tensor。
+
+**参数:**
+- **v (Tensor)** – 被作为行加到原tensor的Tensor
+
+---
+
+#### bernoulli(p)
+
+对每个元素,按照给定概率从0/1中取样。
+
+**参数:**
+- **p (float)** – 以概率p取样一个元素为1
+
+---
+
+#### clone()
+
+**返回值:** 一个新Tensor,是待拷贝Tensor的深拷贝
+
+---
+
+#### copy()
+
+调用singa::Tensor的拷贝构造器进行浅拷贝。
+
+---
+
+#### copy_data(t)
+
+从另一个Tensor实例拷贝数据。
+
+**参数:**
+- **t (Tensor)** – 源Tensor
+
+---
+
+#### copy_from_numpy(np_array, offset=0)
+
+从numpy数组中拷贝数据。
+
+**参数:**
+- **np_array** – 源numpy数组
+- **offset (int)** – 目标偏移
+
+---
+
+#### deepcopy()
+
+同clone()
+
+**返回值:** 新Tensor
+
+---
+
+#### div_column(v)
+
+将Tensor每列除以v。
+
+**参数:**
+- **v (Tensor)** – 1维tensor,和源tensor的列长相同
+
+---
+
+#### div_row(v)
+
+将Tensor每行除以v。
+
+**参数:**
+- **v (Tensor)** – 1维tensor,和源tensor的行长相同
+
+---
+
+#### gaussian(mean, std)
+
+按照高斯分布对每个元素采样。
+
+**参数:**
+- **mean (float)** – 分布的均值
+- **std (float)** – 分布的标准差
+
+---
+
+#### is_empty()
+
+**返回值:** 根据tensor的形状,如果是空的返回True
+
+---
+
+#### is_transpose()
+
+**返回值:** 如果内部数据被转置则返回True,否则返回False
+
+---
+
+#### l1()
+
+**返回值:** L1 norm
+
+---
+
+#### l2()
+
+**返回值:** L2 norm
+
+---
+
+#### memsize()
+
+- **返回值:** 被分配给该tensor的Bytes数
+
+---
+
+#### mult_column(v)
+
+将tensor每列和v做元素级别乘法。
+
+**参数:**
+- **v (Tensor)** – 1维tensor,同源tensor列长等长
+
+---
+
+#### mult_row(v)
+
+将tensor每行和v做元素级别乘法。
+
+**参数:**
+- **v (Tensor)** – 1维tensor,同源tensor行长等长
+
+---
+
+#### ndim()
+
+**返回值:** tensor的维度
+
+---
+
+#### reset_like(t)
+
+根据给定tensor重置源tensor形状,数据类型和设备。
+
+**参数:**
+- **t (Tensor)** – 需要重置的tensor
+
+---
+
+#### set_value(x)
+
+设置所有元素值为给定值。
+
+**参数:**
+- **x(float)** - 待设定的值
+
+---
+
+#### size()
+
+**返回值:** tensor中的元素个数
+
+---
+
+#### to_device(device)
+
+将tensor中数据传到指定设备上。
+
+**参数:**
+- **device** - 从CudaGPU/CppCPU/OpenclGPU转换的swig设备
+
+---
+
+#### to_host()
+
+将tensor数据传到默认的CppCPU设备上。
+
+---
+
+#### uniform(low, high)
+
+从均匀分布中进行采样。
+
+**参数:**
+- **low (float)** – 下界
+- **high (float)** – 上界
+
+---
+
+#### singa.tensor.abs(t)
+
+**参数:**
+- **t(Tensor)** - 输入tensor
+
+**返回值:** 一个新tensor,其元素值为y=abs(x),x是t中的元素
+
+---
+
+#### singa.tensor.add(lhs, rhs, ret=None)
+
+元素级别加法。
+
+**参数:**
+- **lhs (Tensor)** – 左操作tensor
+- **rhs (Tensor)** – 右操作tensor
+- **ret (Tensor, optional)** – 如果不是空, 结果将被保存在其中;否则,一个新tensor会被创建以保存结果。
+
+**返回值:** 新tensor
+
+---
+
+#### singa.tensor.add_column(alpha, v, beta, M)
+
+将v加到M的每个列向量, 定义M一列为m,m=alpha * v + beta * m
+
+**参数:**
+- **alpha (float)** – v的系数
+- **v (Tensor)** – 1维tensor
+- **beta (float)** – M的系数
+- **M (Tensor)** – 2维tensor
+
+**返回值:** M
+
+---
+
+#### singa.tensor.add_row(alpha, v, beta, M)
+
+将v加到M的每个行向量, 定义M一行为m,m=alpha * v + beta * m。
+
+**参数:**
+- **alpha (float)** – v的系数
+- **v (Tensor)** – 1维tensor
+- **beta (float)** – M的系数
+- **M (Tensor)** – 2维tensor
+
+**返回值:** M
+
+---
+
+#### singa.tensor.average(t, axis=None)
+
+**参数:**
+- **t (Tensor)** – 输入Tensor
+- **axis (int, optional)** – 如果为空,取所有元素的平均值;否则,取给定维度的元素平均值。0表示列均值,1表示行均值。
+
+**返回值:** 如果axis是空,返回一个float值;否则,返回一个新tensor
+
+---
+
+#### singa.tensor.axpy(alpha, x, y)
+
+元素级别操作 y += alpha * x。
+
+**参数:**
+- **alpha (float)** – x的系数
+- **x (Tensor)** – 被加的tensor
+- **y (Tensor)** – 原tensor
+
+**返回值:** y
+
+---
+
+#### singa.tensor.bernoulli(p, t)
+
+对每个元素生成一个二进制位。
+
+**参数:**
+- **p (float)** – each element is 1 with probability p; and 0 with 1 - p
+- **t (Tensor)** – the results are put into t
+
+**返回值:** t
+
+---
+
+#### singa.tensor.copy_data_to_from(dst, src, size, dst_offset=0, src_offset=0)
+
+将数据从一个tensor实例拷贝到另一个tensor实例。
+
+**参数:**
+- **dst (Tensor)** – 目标Tensor
+- **src (Tensor)** – 源Tensor
+- **size (int)** – 拷贝元素数目
+- **dst_offset (int)** – 拷贝到dst元素在dst的起始偏移
+- **src_offset (int)** – 待拷贝的元素在src中的起始偏移
+
+---
+
+#### singa.tensor.div(lhs, rhs, ret=None)
+
+元素级别的除法。
+
+**参数:**
+- **lhs (Tensor)** – 左操作tensor
+- **rhs (Tensor)** – 右操作tensor
+- **ret (Tensor, optional)** – 如果非空,将把结果写入;否则,创建一个新tensor并将结果写入
+
+**返回值:** 存有运算结果的tensor
+
+---
+
+#### singa.tensor.eltwise_mult(lhs, rhs, ret=None)
+
+元素级别的乘法。
+
+**参数:**
+- **lhs (Tensor)** – 左操作tensor
+- **rhs (Tensor)** – 右操作tensor
+- **ret (Tensor, optional)** – 如果非空,将把结果写入;否则,创建一个新tensor并将结果写入
+
+**返回值:** 保存运算结果的tensor
+
+---
+
+#### singa.tensor.exp(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** 新tensor,其中元素为 y = exp(x),x为t中元素
+
+---
+
+#### singa.tensor.from_numpy(np_array)
+
+根据numpy数组的形状、数据类型和数值创建一个tensor。
+
+**参数:**
+- **np_array** – numpy数组
+
+**返回值:** 分配在默认CppCPU设备上的tensor实例
+
+---
+
+#### singa.tensor.gaussian(mean, std, t)
+
+按照给定高斯分布生成数值。
+
+**参数:**
+- **mean (float)** – 高斯分布的均值
+- **std (float)** – 高斯分布的标准差
+- **t (Tensor)** – 结果被存入t
+
+**返回值:** t
+
+---
+
+#### singa.tensor.ge(t, x)
+
+元素级别的比较,t >= x。
+
+**参数:**
+- **t (Tensor)** – 左操作数
+- **x (Tensor or float)** – 右操作数
+
+**返回值:** 0.0f 或 t[i] >= x[i] ? 1.0f:0.0f
+
+**返回值类型:** tensor,每个元素为 t[i] >= x ? 1.0f
+
+---
+
+#### singa.tensor.gt(t, x)
+
+元素级别的比较,t > x。
+
+**参数:**
+- **t (Tensor)** – 左操作tensor
+- **x (Tensor or float)** – 右操作tensor或数
+
+**返回值:** 0.0f 或 t[i] > x[i] ? 1.0f:0.0f
+
+**返回值类型:** tensor,每个元素为 t[i] > x ? 1.0f
+
+---
+
+#### singa.tensor.le(t, x)
+
+元素级别的比较,t <= x。
+
+**参数:**
+- **t (Tensor)** – 左操作tensor
+- **x (Tensor or float)** – 右操作tensor或数
+
+**返回值:** 0.0f 或 t[i] <= x[i] ? 1.0f:0.0f
+
+**返回值类型:** tensor,每个元素为 t[i] <= x ? 1.0f
+
+---
+
+#### singa.tensor.lt(t, x)
+
+元素级别的比较,t < x。
+
+**参数:**
+- **t (Tensor)** – 左操作tensor
+- **x (Tensor or float)** – 右操作tensor或数
+
+**返回值:** 0.0f 或 t[i] < x[i] ? 1.0f:0.0f
+
+**返回值类型:** tensor,每个元素为 t[i] < x ? 1.0f
+
+---
+
+#### singa.tensor.log(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** 一个新tensor,其元素值为y = log(x),x是t中的元素
+
+---
+
+#### singa.tensor.mult(A, B, C=None, alpha=1.0, beta=0.0)
+
+矩阵-矩阵或矩阵-向量乘法, 函数返回 C = alpha * A * B + beta * C。
+
+**参数:**
+- **A (Tensor)** – 2维Tensor
+- **B (Tensor)** – 如果B是1维Tensor, 将调用GEMV做矩阵-向量乘法;否则将调用GEMM。
+- **C (Tensor, optional)** – 存储结果;如果为空,将创建新tensor存储结果。
+- **alpha (float)** – A * B 的系数
+- **beta (float)** – C 的系数
+
+**返回值:** 保存运算结果的tensor
+
+---
+
+#### singa.tensor.pow(t, x, out=None)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+- **x (float or Tensor)** – 如果x是浮点数 y[i] = t[i]^x; 否则 y[i]= t[i]^x[i]
+- **out (None or Tensor)** – 如果非空,将存入结果;否则,将创建一个新tensor保存结果。
+
+**返回值:** 保存运算结果的tensor
+
+---
+
+#### singa.tensor.relu(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** tensor,其中元素为 y = x 若x >0;否则y = 0,x为t中元素
+
+---
+
+#### singa.tensor.reshape(t, s)
+
+改变tensor的形状。
+
+**参数:**
+- **t (Tensor)** – 待改变形状的tensor
+- **s (list<int>)** – 新形状,体积和原tensor体积相同
+
+**返回值:** 新tensor
+
+---
+
+#### singa.tensor.sigmoid(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** tensor,其中元素为 y = sigmoid(x),x为t中元素
+
+---
+
+#### singa.tensor.sign(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** tensor,其中元素为 y = sign(x),x为t中元素
+
+---
+
+#### singa.tensor.sizeof(dtype)
+
+**返回值:** 依据core.proto中定义的SINGA数据类型,返回给定类型所占Byte数目
+
+---
+
+#### singa.tensor.softmax(t, out=None)
+
+对tensor每行做SoftMax。
+
+**参数:**
+- **t (Tensor)** – 输入1维或2维tensor
+- **out (Tensor, 可选)** – 如果非空,将存入结果
+
+**返回值:** 保存操作结果的tensor
+
+---
+
+#### singa.tensor.sqrt(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** tensor,其中元素为 y = sqrt(x),x为t中元素
+
+---
+
+#### singa.tensor.square(t)
+
+**参数:** 
+- **t (Tensor)** – 输入tensor
+
+**返回值:** tensor,其中元素为 y = x * x,x为t中元素
+
+---
+
+#### singa.tensor.sub(lhs, rhs, ret=None)
+
+元素级别的减法。
+
+**参数:**
+- **lhs (Tensor)** – 左操作tensor
+- **rhs (Tensor)** – 右操作tensor
+- **ret (Tensor, 可选)** – 如果非空,将存入结果;否则,将创建一个新tensor保存
+
+**返回值:** 存放结果的tensor
+
+---
+
+#### singa.tensor.sum(t, axis=None)
+
+在给定的维度上求和。
+
+**参数:**
+- **t (Tensor)** – 输入Tensor
+- **axis (int, 可选)** – 如果为空,将对所有元素求和;如果给定数值,将沿给定维度求和,比如:0 - 按列求和;1 - 按行求和。
+
+**返回值:** 如果是对整体求和,返回一个浮点数;否则返回tensor
+
+---
+
+#### singa.tensor.sum_columns(M)
+
+按列求和。
+
+**参数:**
+- **M (Tensor)** – 输入的2维tensor
+
+**返回值:** 产生求和结果的tensor
+
+---
+
+#### singa.tensor.sum_rows(M)
+
+按行求和。
+
+**参数:**
+- **M (Tensor)** – 输入的2维tensor
+
+**返回值:** 产生求和结果的tensor
+
+---
+
+#### singa.tensor.tanh(t)
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:**tensor,其中元素为 y = tanh(x),x为t中元素
+
+---
+
+#### singa.tensor.to_host(t)
+
+将数据拷贝到host设备上。
+
+---
+
+#### singa.tensor.to_numpy(t)
+
+拷贝tensor数据到numpy数组。
+
+**参数:**
+- **t (Tensor)** – 输入tensor
+
+**返回值:** numpy数组
+
+---
+
+#### singa.tensor.uniform(low, high, t)
+
+按照均匀分布生成数值。
+
+**参数:**
+- **low (float)** – 下界
+- **hight (float)** – 上届
+- **t (Tensor)** – 结果存入t
+
+**返回值:** t
+
+---

Added: incubator/singa/site/trunk/zh/_sources/docs/utils.md.txt
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/_sources/docs/utils.md.txt?rev=1833193&view=auto
==============================================================================
--- incubator/singa/site/trunk/zh/_sources/docs/utils.md.txt (added)
+++ incubator/singa/site/trunk/zh/_sources/docs/utils.md.txt Fri Jun  8 15:29:00 2018
@@ -0,0 +1,13 @@
+# Utils
+
+---
+
+#### singa.utils.update_progress(progress, info)
+
+显示完成进程条和用户信息。
+
+**参数:**
+- **progress (float)** – 完成度[0, 1],负数表示被中断,>=1表示以完成
+- **info (str)** – 待展示信息的字符串
+
+---

Modified: incubator/singa/site/trunk/zh/community/issue-tracking.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/community/issue-tracking.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/community/issue-tracking.html (original)
+++ incubator/singa/site/trunk/zh/community/issue-tracking.html Fri Jun  8 15:29:00 2018
@@ -33,6 +33,16 @@
     <link rel="next" title="SINGA团队" href="team-list.html" />
     <link rel="prev" title="项目邮件列表" href="mail-lists.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul>
@@ -263,6 +274,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/community/mail-lists.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/community/mail-lists.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/community/mail-lists.html (original)
+++ incubator/singa/site/trunk/zh/community/mail-lists.html Fri Jun  8 15:29:00 2018
@@ -33,6 +33,16 @@
     <link rel="next" title="问题追踪" href="issue-tracking.html" />
     <link rel="prev" title="源代码库" href="source-repository.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul>
@@ -290,6 +301,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/community/source-repository.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/community/source-repository.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/community/source-repository.html (original)
+++ incubator/singa/site/trunk/zh/community/source-repository.html Fri Jun  8 15:29:00 2018
@@ -33,6 +33,16 @@
     <link rel="next" title="项目邮件列表" href="mail-lists.html" />
     <link rel="prev" title="如何贡献代码" href="../develop/contribute-code.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul>
@@ -281,6 +292,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/community/team-list.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/community/team-list.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/community/team-list.html (original)
+++ incubator/singa/site/trunk/zh/community/team-list.html Fri Jun  8 15:29:00 2018
@@ -32,6 +32,16 @@
     <link rel="search" title="Search" href="../search.html" />
     <link rel="prev" title="问题追踪" href="issue-tracking.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>
 
 
   
@@ -90,6 +100,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul>
@@ -386,6 +397,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/develop/contribute-code.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/develop/contribute-code.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/develop/contribute-code.html (original)
+++ incubator/singa/site/trunk/zh/develop/contribute-code.html Fri Jun  8 15:29:00 2018
@@ -33,6 +33,16 @@
     <link rel="next" title="源代码库" href="../community/source-repository.html" />
     <link rel="prev" title="如何贡献给 SINGA" href="how-contribute.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul class="current">
@@ -305,6 +316,15 @@ PR 标题应该是 SINGA-
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/develop/how-contribute.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/develop/how-contribute.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/develop/how-contribute.html (original)
+++ incubator/singa/site/trunk/zh/develop/how-contribute.html Fri Jun  8 15:29:00 2018
@@ -33,6 +33,16 @@
     <link rel="next" title="如何贡献代码" href="contribute-code.html" />
     <link rel="prev" title="开发时间表" href="schedule.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul class="current">
@@ -265,6 +276,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">

Modified: incubator/singa/site/trunk/zh/develop/schedule.html
URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/zh/develop/schedule.html?rev=1833193&r1=1833192&r2=1833193&view=diff
==============================================================================
--- incubator/singa/site/trunk/zh/develop/schedule.html (original)
+++ incubator/singa/site/trunk/zh/develop/schedule.html Fri Jun  8 15:29:00 2018
@@ -31,8 +31,18 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="如何贡献给 SINGA" href="how-contribute.html" />
-    <link rel="prev" title="下载 SINGA" href="../downloads.html" />
+    <link rel="prev" title="用GoogleNet做图像分类" href="../docs/model_zoo/imagenet/googlenet/README.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>
 
 
   
@@ -91,6 +101,7 @@
             
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../downloads.html">下载 SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">文档</a></li>
 </ul>
 <p class="caption"><span class="caption-text">开发</span></p>
 <ul class="current">
@@ -364,7 +375,7 @@
         <a href="how-contribute.html" class="btn btn-neutral float-right" title="如何贡献给 SINGA" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="../downloads.html" class="btn btn-neutral" title="下载 SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="../docs/model_zoo/imagenet/googlenet/README.html" class="btn btn-neutral" title="用GoogleNet做图像分类" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -440,6 +451,15 @@
 
   </div>
   <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
+
+  <a href="https://github.com/apache/incubator-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/nusdbsystem/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/incubator-singa">



Mime
View raw message