{"action":"created","comment":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments/91243679","pull_request_review_id":11743518,"id":91243679,"diff_hunk":"@@ -0,0 +1,395 @@\n+PaddlePaddle快速入门教程\n+========================\n+\n+我们将以 `文本分类问题 <https://en.wikipedia.org/wiki/Document_classification>`_ 为例,\n+介绍PaddlePaddle的基本使用方法。\n+\n+安装\n+====\n+\n+请参考 `安装教程 <../../build_and_install/index.html>`_ 安装PaddlePaddle。\n+\n+使用概述\n+========\n+\n+**文本分类问题**：对于给定的一条文本，我们从提前给定的类别集合中选择其所属类别。\n+\n+比如, 在购物网站上，通过查看买家对某个产品的评价反馈, 评估该产品的质量。\n+\n+- 这个显示器很棒！ （好评）\n+- 用了两个月之后这个显示器屏幕碎了。（差评）\n+\n+使用PaddlePaddle, 每一个任务流程都可以被划分为如下五个步骤。\n+\n+    ..  image:: Pipeline.jpg\n+        :align: center\n+        :scale: 80%\n+\n+1. 数据格式准备\n+    - 本例每行保存一条样本，类别Id和文本信息用 ``Tab`` 间隔，文本中的单词用空格分隔（如果不切词，则字与字之间用空格分隔），例如：``类别Id '\\t' 这 个 显 示 器 很 棒 ！``\n+2. 向系统传送数据\n+    - PaddlePaddle可以执行用户的python脚本程序来读取各种格式的数据文件。\n+    - 本例的所有字符都将转换为连续整数表示的Id传给模型。\n+3. 描述网络结构和优化算法\n+    - 本例由易到难展示4种不同的文本分类网络配置：逻辑回归模型，词向量模型，卷积模型，时序模型。\n+    - 常用优化算法包括Momentum, RMSProp，AdaDelta，AdaGrad，Adam，Adamax等，本例采用Adam优化方法，加了L2正则和梯度截断。\n+4. 训练模型\n+5. 应用模型\n+\n+数据格式准备\n+------------\n+\n+接下来我们将展示如何用PaddlePaddle训练一个文本分类模型，将 `Amazon电子产品评论数据 <http://jmcauley.ucsd.edu/data/amazon/>`_ 分为好评(正样本)和差评(负样本)两种类别。\n+`源代码 <https://github.com/PaddlePaddle/Paddle>`_ 的 ``demo/quick_start`` 目录里提供了该数据的下载脚本和预处理脚本，你只需要在命令行输入以下命令，就能够很方便的完成数据下载和相应的预处理工作。\n+\n+.. code-block:: bash\n+\n+    cd demo/quick_start\n+    ./data/get_data.sh\n+    ./preprocess.sh\n+\n+数据预处理完成之后，通过配置类似于 ``dataprovider_*.py`` 的数据读取脚本和类似于 ``trainer_config.*.py`` 的训练模型脚本，PaddlePaddle将以设置参数的方式来设置\n+相应的数据读取脚本和训练模型脚本。接下来，我们将对这两个步骤给出了详细的解释，你也可以先跳过本文的解释环节，直接进入训练模型章节, 使用 ``sh train.sh`` 开始训练模型，\n+查看`train.sh`内容，通过 **自底向上法** (bottom-up approach)来帮助你理解PaddlePaddle的内部运行机制。\n+\n+\n+向系统传送数据\n+==============\n+\n+Python脚本读取数据\n+------------------\n+\n+`DataProvider <../../ui/data_provider/index.html>`_ 是PaddlePaddle负责提供数据的模块。``DataProvider`` 主要职责在于将训练数据传入内存或者显存，让模型能够得到训练更新，其包括两个函数：\n+\n+* initializer：PaddlePaddle会在调用读取数据的Python脚本之前，先调用initializer函数。在下面例子里，我们在initialzier函数里初始化词表，并且在随后的读取数据过程中填充词表。\n+* process：PaddlePaddle调用process函数来读取数据。每次读取一条数据后，process函数会用yield语句输出这条数据，从而能够被PaddlePaddle 捕获 (harvest)。\n+\n+``dataprovider_bow.py`` 文件给出了完整例子：\n+\n+..  literalinclude:: ../../../demo/quick_start/dataprovider_bow.py\n+     :language: python\n+     :lines: 21-70\n+     :linenos:\n+     :emphasize-lines: 8,33\n+\n+\n+配置中的数据加载定义\n+--------------------\n+\n+在模型配置中通过 ``define_py_data_sources2`` 接口来加载数据：\n+\n+..  literalinclude:: ../../../demo/quick_start/trainer_config.emb.py\n+     :language: python\n+     :lines: 19-35\n+     :linenos:\n+     :emphasize-lines: 12\n+\n+\n+以下是对上述数据加载的解释：\n+\n+- data/train.list,data/test.list: 指定训练数据和测试数据\n+- module=\"dataprovider_bow\": 处理数据的Python脚本文件\n+- obj=\"process\": 指定生成数据的函数\n+- args={\"dictionary\": word_dict}: 额外的参数，这里指定词典\n+\n+更详细数据格式和用例请参考 `PyDataProvider2 <../../ui/data_provider/pydataprovider2.html>`_ 。\n+\n+模型网络结构\n+============\n+\n+本小节我们将介绍模型网络结构。\n+\n+    ..  image:: PipelineNetwork.jpg\n+        :align: center\n+        :scale: 80%\n+\n+\n+我们将以最基本的逻辑回归网络作为起点，并逐渐展示更加深入的功能。更详细的网络配置连接请参考 `Layer文档 <../../../doc/layer.html>`_ 。\n+所有配置都能在 `源代码 <https://github.com/PaddlePaddle/Paddle>`_ 的 ``demo/quick_start`` 目录下找到。\n+\n+逻辑回归模型\n+------------\n+\n+具体流程如下:\n+\n+    ..  image:: NetLR.jpg\n+        :align: center\n+        :scale: 80%\n+\n+- 获取利用 `one-hot vector <https://en.wikipedia.org/wiki/One-hot>`_ 表示的每个单词，维度是词典大小\n+\n+    .. code-block:: python\n+\n+        word = data_layer(name=\"word\",  size=word_dim)\n+\n+- 获取该条样本类别Id，维度是类别个数。\n+\n+    .. code-block:: python\n+\n+        label = data_layer(name=\"label\", size=label_dim)\n+\n+- 利用逻辑回归模型对该向量进行分类，同时会计算分类准确率\n+\n+    .. code-block:: python\n+\n+        # Define a fully connected layer with logistic activation (also called softmax activation).\n+        output = fc_layer(input=word,\n+                        size=label_dim,\n+                        act_type=SoftmaxActivation())\n+        # Define cross-entropy classification loss and error.\n+        classification_cost(input=output, label=label)\n+\n+\n+ - input: 除去data层，每个层都有一个或多个input,多个input以list方式输入\n+ - size: 该层神经元个数\n+ - act_type: 激活函数类型\n+\n+**效果总结**：我们将在后面介绍训练和预测流程的脚本。在此为方便对比不同网络结构，我们总结了各个网络的复杂度和效果。\n+\n+    =====================  ===============================  =================\n+    网络名称\t                    参数数量                    错误率\n+    =====================  ===============================  =================\n+    逻辑回归\t                  252 KB                       8.652 %\n+    =====================  ===============================  =================\n+\n+词向量模型\n+----------\n+\n+embedding模型需要稍微改变提供数据的Python脚本，即 ``dataprovider_emb.py``，词向量模型、\n+卷积模型、时序模型均使用该脚本。其中文本输入类型定义为整数时序类型integer_value_sequence。\n+\n+.. code-block:: python\n+\n+    def initializer(settings, dictionary, **kwargs):\n+        settings.word_dict = dictionary\n+        settings.input_types = [\n+            # Define the type of the first input as sequence of integer.\n+            # The value of the integers range from 0 to len(dictrionary)-1\n+            integer_value_sequence(len(dictionary)),\n+            # Define the second input for label id\n+            integer_value(2)]\n+\n+    @provider(init_hook=initializer)\n+    def process(settings, file_name):\n+        ...\n+        # omitted, it is same as the data provider for LR model\n+\n+该模型依然使用逻辑回归分类网络的框架， 只是将句子用连续向量表示替换为用稀疏向量表示， 即对第三步进行替换。句子表示的计算更新为两步：\n+\n+..  image:: NetContinuous.jpg\n+    :align: center\n+    :scale: 80%\n+\n+- 利用单词Id查找该单词对应的连续向量(维度为word_dim)， 输入N个单词，输出为N个word_dim维度向量\n+\n+    .. code-block:: python\n+\n+        emb = embedding_layer(input=word, size=word_dim)\n+\n+- 将该句话包含的所有单词向量求平均, 得到句子的表示\n+\n+    .. code-block:: python\n+\n+        avg = pooling_layer(input=emb, pooling_type=AvgPooling())\n+\n+其它部分和逻辑回归网络结构一致。\n+\n+**效果总结：**\n+\n+    =====================  ===============================  ==================\n+    网络名称\t                    参数数量                    错误率\n+    =====================  ===============================  ==================\n+    词向量模型\t                  15 MB                       8.484 %\n+    =====================  ===============================  ==================\n+\n+卷积模型\n+-----------\n+\n+卷积网络是一种特殊的从词向量表示到句子表示的方法， 也就是将词向量模型进一步演化为三个新步骤。\n+\n+..  image:: NetConv.jpg\n+    :align: center\n+    :scale: 80%\n+\n+文本卷积分可为三个步骤:\n+\n+1. 首先，从每个单词左右两端分别获取k个相邻的单词, 拼接成一个新的向量；\n+\n+2. 其次，对该向量进行非线性变换(例如Sigmoid变换), 使其转变为维度为hidden_dim的新向量；\n+\n+3. 最后，对整个新向量集合的每一个维度取最大值来表示最后的句子。\n+\n+这三个步骤可配置为:\n+\n+.. code-block:: python\n+\n+    text_conv = sequence_conv_pool(input=emb,\n+                                context_start=k,\n+                                context_len=2 * k + 1)\n+\n+**效果总结：**\n+\n+    =====================  ===============================  ========================\n+    网络名称\t                    参数数量                    错误率\n+    =====================  ===============================  ========================\n+    卷积模型\t                  16 MB                       5.628 %\n+    =====================  ===============================  ========================\n+\n+时序模型\n+----------\n+\n+..  image:: NetRNN.jpg\n+    :align: center\n+    :scale: 80%\n+\n+时序模型，也称为RNN模型, 包括简单的RNN模型, GRU模型和LSTM模型等等。\n+\n+- GRU模型配置：\n+\n+    .. code-block:: python\n+\n+        gru = simple_gru(input=emb, size=gru_size)\n+\n+\n+- LSTM模型配置：","path":"doc_cn/demo/quick_start/index.rst","position":254,"original_position":254,"commit_id":"11f97c93b2a0ffa4a6eb23e7af3439e5d5b8c224","original_commit_id":"11f97c93b2a0ffa4a6eb23e7af3439e5d5b8c224","user":{"login":"backyes","id":920727,"avatar_url":"https://avatars.githubusercontent.com/u/920727?v=3","gravatar_id":"","url":"https://api.github.com/users/backyes","html_url":"https://github.com/backyes","followers_url":"https://api.github.com/users/backyes/followers","following_url":"https://api.github.com/users/backyes/following{/other_user}","gists_url":"https://api.github.com/users/backyes/gists{/gist_id}","starred_url":"https://api.github.com/users/backyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/backyes/subscriptions","organizations_url":"https://api.github.com/users/backyes/orgs","repos_url":"https://api.github.com/users/backyes/repos","events_url":"https://api.github.com/users/backyes/events{/privacy}","received_events_url":"https://api.github.com/users/backyes/received_events","type":"User","site_admin":false},"body":"是否要给一些refer 解释下GRU或者LSTM？ 否则整文看起来非常黑盒。","created_at":"2016-12-07T08:16:41Z","updated_at":"2016-12-07T08:19:02Z","html_url":"https://github.com/PaddlePaddle/Paddle/pull/538#discussion_r91243679","pull_request_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538","_links":{"self":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments/91243679"},"html":{"href":"https://github.com/PaddlePaddle/Paddle/pull/538#discussion_r91243679"},"pull_request":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538"}}},"pull_request":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538","id":94509260,"html_url":"https://github.com/PaddlePaddle/Paddle/pull/538","diff_url":"https://github.com/PaddlePaddle/Paddle/pull/538.diff","patch_url":"https://github.com/PaddlePaddle/Paddle/pull/538.patch","issue_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/538","number":538,"state":"open","locked":false,"title":"Refine quick start index.rst chinese docs","user":{"login":"gangliao","id":3071933,"avatar_url":"https://avatars.githubusercontent.com/u/3071933?v=3","gravatar_id":"","url":"https://api.github.com/users/gangliao","html_url":"https://github.com/gangliao","followers_url":"https://api.github.com/users/gangliao/followers","following_url":"https://api.github.com/users/gangliao/following{/other_user}","gists_url":"https://api.github.com/users/gangliao/gists{/gist_id}","starred_url":"https://api.github.com/users/gangliao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gangliao/subscriptions","organizations_url":"https://api.github.com/users/gangliao/orgs","repos_url":"https://api.github.com/users/gangliao/repos","events_url":"https://api.github.com/users/gangliao/events{/privacy}","received_events_url":"https://api.github.com/users/gangliao/received_events","type":"User","site_admin":false},"body":"- [x] change markdown to reStructuredText format\r\n- [x] change grammars and syntaxes followed from #483\r\n- [x] refine the order of sections to make our writing more readable.\r\n\r\n#522 ","created_at":"2016-11-20T06:43:48Z","updated_at":"2016-12-07T08:19:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea9fb1bf741b629c8b7efeac7a052726a244482d","assignee":{"login":"backyes","id":920727,"avatar_url":"https://avatars.githubusercontent.com/u/920727?v=3","gravatar_id":"","url":"https://api.github.com/users/backyes","html_url":"https://github.com/backyes","followers_url":"https://api.github.com/users/backyes/followers","following_url":"https://api.github.com/users/backyes/following{/other_user}","gists_url":"https://api.github.com/users/backyes/gists{/gist_id}","starred_url":"https://api.github.com/users/backyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/backyes/subscriptions","organizations_url":"https://api.github.com/users/backyes/orgs","repos_url":"https://api.github.com/users/backyes/repos","events_url":"https://api.github.com/users/backyes/events{/privacy}","received_events_url":"https://api.github.com/users/backyes/received_events","type":"User","site_admin":false},"assignees":[{"login":"backyes","id":920727,"avatar_url":"https://avatars.githubusercontent.com/u/920727?v=3","gravatar_id":"","url":"https://api.github.com/users/backyes","html_url":"https://github.com/backyes","followers_url":"https://api.github.com/users/backyes/followers","following_url":"https://api.github.com/users/backyes/following{/other_user}","gists_url":"https://api.github.com/users/backyes/gists{/gist_id}","starred_url":"https://api.github.com/users/backyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/backyes/subscriptions","organizations_url":"https://api.github.com/users/backyes/orgs","repos_url":"https://api.github.com/users/backyes/repos","events_url":"https://api.github.com/users/backyes/events{/privacy}","received_events_url":"https://api.github.com/users/backyes/received_events","type":"User","site_admin":false},{"login":"luotao1","id":6836917,"avatar_url":"https://avatars.githubusercontent.com/u/6836917?v=3","gravatar_id":"","url":"https://api.github.com/users/luotao1","html_url":"https://github.com/luotao1","followers_url":"https://api.github.com/users/luotao1/followers","following_url":"https://api.github.com/users/luotao1/following{/other_user}","gists_url":"https://api.github.com/users/luotao1/gists{/gist_id}","starred_url":"https://api.github.com/users/luotao1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luotao1/subscriptions","organizations_url":"https://api.github.com/users/luotao1/orgs","repos_url":"https://api.github.com/users/luotao1/repos","events_url":"https://api.github.com/users/luotao1/events{/privacy}","received_events_url":"https://api.github.com/users/luotao1/received_events","type":"User","site_admin":false},{"login":"hedaoyuan","id":21339431,"avatar_url":"https://avatars.githubusercontent.com/u/21339431?v=3","gravatar_id":"","url":"https://api.github.com/users/hedaoyuan","html_url":"https://github.com/hedaoyuan","followers_url":"https://api.github.com/users/hedaoyuan/followers","following_url":"https://api.github.com/users/hedaoyuan/following{/other_user}","gists_url":"https://api.github.com/users/hedaoyuan/gists{/gist_id}","starred_url":"https://api.github.com/users/hedaoyuan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedaoyuan/subscriptions","organizations_url":"https://api.github.com/users/hedaoyuan/orgs","repos_url":"https://api.github.com/users/hedaoyuan/repos","events_url":"https://api.github.com/users/hedaoyuan/events{/privacy}","received_events_url":"https://api.github.com/users/hedaoyuan/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/milestones/2","html_url":"https://github.com/PaddlePaddle/Paddle/milestones/0.10.0","labels_url":"https://api.github.com/repos/PaddlePaddle/Paddle/milestones/2/labels","id":2094118,"number":2,"title":"0.10.0","description":"","creator":{"login":"llxxxll","id":1908992,"avatar_url":"https://avatars.githubusercontent.com/u/1908992?v=3","gravatar_id":"","url":"https://api.github.com/users/llxxxll","html_url":"https://github.com/llxxxll","followers_url":"https://api.github.com/users/llxxxll/followers","following_url":"https://api.github.com/users/llxxxll/following{/other_user}","gists_url":"https://api.github.com/users/llxxxll/gists{/gist_id}","starred_url":"https://api.github.com/users/llxxxll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/llxxxll/subscriptions","organizations_url":"https://api.github.com/users/llxxxll/orgs","repos_url":"https://api.github.com/users/llxxxll/repos","events_url":"https://api.github.com/users/llxxxll/events{/privacy}","received_events_url":"https://api.github.com/users/llxxxll/received_events","type":"User","site_admin":false},"open_issues":27,"closed_issues":31,"state":"open","created_at":"2016-10-26T06:58:13Z","updated_at":"2016-12-07T08:16:35Z","due_on":"2016-12-01T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538/commits","review_comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538/comments","review_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/538/comments","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/11f97c93b2a0ffa4a6eb23e7af3439e5d5b8c224","head":{"label":"gangliao:latest","ref":"latest","sha":"11f97c93b2a0ffa4a6eb23e7af3439e5d5b8c224","user":{"login":"gangliao","id":3071933,"avatar_url":"https://avatars.githubusercontent.com/u/3071933?v=3","gravatar_id":"","url":"https://api.github.com/users/gangliao","html_url":"https://github.com/gangliao","followers_url":"https://api.github.com/users/gangliao/followers","following_url":"https://api.github.com/users/gangliao/following{/other_user}","gists_url":"https://api.github.com/users/gangliao/gists{/gist_id}","starred_url":"https://api.github.com/users/gangliao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gangliao/subscriptions","organizations_url":"https://api.github.com/users/gangliao/orgs","repos_url":"https://api.github.com/users/gangliao/repos","events_url":"https://api.github.com/users/gangliao/events{/privacy}","received_events_url":"https://api.github.com/users/gangliao/received_events","type":"User","site_admin":false},"repo":{"id":70446195,"name":"Paddle","full_name":"gangliao/Paddle","owner":{"login":"gangliao","id":3071933,"avatar_url":"https://avatars.githubusercontent.com/u/3071933?v=3","gravatar_id":"","url":"https://api.github.com/users/gangliao","html_url":"https://github.com/gangliao","followers_url":"https://api.github.com/users/gangliao/followers","following_url":"https://api.github.com/users/gangliao/following{/other_user}","gists_url":"https://api.github.com/users/gangliao/gists{/gist_id}","starred_url":"https://api.github.com/users/gangliao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gangliao/subscriptions","organizations_url":"https://api.github.com/users/gangliao/orgs","repos_url":"https://api.github.com/users/gangliao/repos","events_url":"https://api.github.com/users/gangliao/events{/privacy}","received_events_url":"https://api.github.com/users/gangliao/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gangliao/Paddle","description":"PArallel Distributed Deep LEarning","fork":true,"url":"https://api.github.com/repos/gangliao/Paddle","forks_url":"https://api.github.com/repos/gangliao/Paddle/forks","keys_url":"https://api.github.com/repos/gangliao/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gangliao/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gangliao/Paddle/teams","hooks_url":"https://api.github.com/repos/gangliao/Paddle/hooks","issue_events_url":"https://api.github.com/repos/gangliao/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/gangliao/Paddle/events","assignees_url":"https://api.github.com/repos/gangliao/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/gangliao/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/gangliao/Paddle/tags","blobs_url":"https://api.github.com/repos/gangliao/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gangliao/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gangliao/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/gangliao/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gangliao/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/gangliao/Paddle/languages","stargazers_url":"https://api.github.com/repos/gangliao/Paddle/stargazers","contributors_url":"https://api.github.com/repos/gangliao/Paddle/contributors","subscribers_url":"https://api.github.com/repos/gangliao/Paddle/subscribers","subscription_url":"https://api.github.com/repos/gangliao/Paddle/subscription","commits_url":"https://api.github.com/repos/gangliao/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/gangliao/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/gangliao/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/gangliao/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/gangliao/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/gangliao/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gangliao/Paddle/merges","archive_url":"https://api.github.com/repos/gangliao/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gangliao/Paddle/downloads","issues_url":"https://api.github.com/repos/gangliao/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/gangliao/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/gangliao/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/gangliao/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gangliao/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/gangliao/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/gangliao/Paddle/deployments","created_at":"2016-10-10T02:50:18Z","updated_at":"2016-10-23T03:44:47Z","pushed_at":"2016-12-07T07:26:35Z","git_url":"git://github.com/gangliao/Paddle.git","ssh_url":"git@github.com:gangliao/Paddle.git","clone_url":"https://github.com/gangliao/Paddle.git","svn_url":"https://github.com/gangliao/Paddle","homepage":"http://www.paddlepaddle.org/","size":13942,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"PaddlePaddle:develop","ref":"develop","sha":"77ddce0f0be883bc60d3949bf18dee96dd118e64","user":{"login":"PaddlePaddle","id":23534030,"avatar_url":"https://avatars.githubusercontent.com/u/23534030?v=3","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"repo":{"id":65711522,"name":"Paddle","full_name":"PaddlePaddle/Paddle","owner":{"login":"PaddlePaddle","id":23534030,"avatar_url":"https://avatars.githubusercontent.com/u/23534030?v=3","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PaddlePaddle/Paddle","description":"PArallel Distributed Deep LEarning","fork":false,"url":"https://api.github.com/repos/PaddlePaddle/Paddle","forks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/forks","keys_url":"https://api.github.com/repos/PaddlePaddle/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PaddlePaddle/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PaddlePaddle/Paddle/teams","hooks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/hooks","issue_events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/events","assignees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/PaddlePaddle/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/tags","blobs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/PaddlePaddle/Paddle/languages","stargazers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/stargazers","contributors_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contributors","subscribers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscribers","subscription_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscription","commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/PaddlePaddle/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PaddlePaddle/Paddle/merges","archive_url":"https://api.github.com/repos/PaddlePaddle/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PaddlePaddle/Paddle/downloads","issues_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/PaddlePaddle/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/PaddlePaddle/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PaddlePaddle/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/PaddlePaddle/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/deployments","created_at":"2016-08-15T06:59:08Z","updated_at":"2016-12-07T07:27:54Z","pushed_at":"2016-12-07T08:02:46Z","git_url":"git://github.com/PaddlePaddle/Paddle.git","ssh_url":"git@github.com:PaddlePaddle/Paddle.git","clone_url":"https://github.com/PaddlePaddle/Paddle.git","svn_url":"https://github.com/PaddlePaddle/Paddle","homepage":"http://www.paddlepaddle.org/","size":22711,"stargazers_count":3929,"watchers_count":3929,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":941,"mirror_url":null,"open_issues_count":138,"forks":941,"open_issues":138,"watchers":3929,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538"},"html":{"href":"https://github.com/PaddlePaddle/Paddle/pull/538"},"issue":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/538"},"comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/538/comments"},"review_comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538/comments"},"review_comment":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/538/commits"},"statuses":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/11f97c93b2a0ffa4a6eb23e7af3439e5d5b8c224"}}}}
{"actor":{"display_login":"backyes"}}