Skip to content

Commit 9115ab1

Browse files
authored
Merge pull request #450 from reyoung/feature/pre-commit-hooks-scripts
Feature/pre commit hooks scripts
2 parents 2b841ec + 07af31f commit 9115ab1

File tree

37 files changed

+4958
-4873
lines changed

37 files changed

+4958
-4873
lines changed

.clang-format

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,16 @@
1313
# The document of clang-format is
1414
# http://clang.llvm.org/docs/ClangFormat.html
1515
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
16-
#
17-
# TODO(yuyang18): Add python and other language code style
1816
---
1917
Language: Cpp
2018
BasedOnStyle: Google
2119
IndentWidth: 2
2220
TabWidth: 2
2321
ContinuationIndentWidth: 4
2422
AccessModifierOffset: -2 # The private/protected/public has no indent in class
25-
PointerAlignment: Left # int* p/int& p, not int *p/int &p
2623
Standard: Cpp11
2724
AllowAllParametersOfDeclarationOnNextLine: true
25+
BinPackParameters: false
26+
BinPackArguments: false
2827
...
2928

.pre-commit-config.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
2+
sha: c25201a00e6b0514370501050cf2a8538ac12270
3+
hooks:
4+
- id: remove-crlf
5+
- repo: https://github.com/reyoung/mirrors-yapf.git
6+
sha: v0.13.2
7+
hooks:
8+
- id: yapf
9+
- repo: https://github.com/pre-commit/pre-commit-hooks
10+
sha: 4ef03c4223ad322c7adaa6c6c0efb26b57df3b71
11+
hooks:
12+
- id: check-added-large-files
13+
- id: check-merge-conflict
14+
- id: check-symlinks
15+
- id: detect-private-key
16+
- id: end-of-file-fixer
17+
# TODO(yuyang): trailing whitespace has some bugs on markdown
18+
# files now, please not add it to pre-commit hook now
19+
# - id: trailing-whitespace
20+
#
21+
# TODO(yuyang): debug-statements not fit for Paddle, because
22+
# not all of our python code is runnable. Some are used for
23+
# documenation
24+
# - id: debug-statements

demo/introduction/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
This folder contains scripts used in PaddlePaddle introduction.
22
- use `bash train.sh` to train a simple linear regression model
33
- use `python evaluate_model.py` to read model parameters. You can see that `w` and `b` are very close to [2, 0.3].
4-

demo/mnist/data/get_mnist_data.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,3 @@ done
1919
cd $DIR
2020
rm -f *.list
2121
python generate_list.py
22-

demo/recommendation/data/config.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,3 @@
1414
"fields": ["id", "title", "genres"]
1515
}
1616
}
17-

demo/semantic_role_labeling/test.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,3 @@ paddle train \
3737
--use_gpu=false \
3838
--config_args=is_test=1 \
3939
2>&1 | tee 'test.log'
40-

demo/semantic_role_labeling/train.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,3 @@ paddle train \
2424
--show_parameter_stats_period=10 \
2525
--test_all_data_in_one_period=1 \
2626
2>&1 | tee 'train.log'
27-

doc/demo/semantic_role_labeling/semantic_role_labeling.md

Lines changed: 183 additions & 183 deletions
Large diffs are not rendered by default.

doc/introduction/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,3 @@ There, you have recovered the underlying pattern between `X` and `Y` only from o
9898
- <a href="../build/index.html"> Build and Installation </a>
9999
- <a href="../demo/quick_start/index_en.html">Quick Start</a>
100100
- <a href="../demo/index.html">Example and Demo</a>
101-
Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,66 @@
1-
# 支持双层序列作为输入的Layer
2-
3-
## 概述
4-
5-
在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。
6-
7-
双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。
8-
9-
我们可以按照如下层次定义非序列,单层序列,以及双层序列。
10-
11-
+ 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型
12-
+ 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息
13-
+ 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列
14-
15-
16-
在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。
17-
## pooling_layer
18-
19-
pooling_layer的使用示例如下,详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#pooling-layer">配置API</a>。
20-
```python
21-
seq_pool = pooling_layer(input=layer,
22-
pooling_type=AvgPooling(),
23-
agg_level=AggregateLevel.EACH_SEQUENCE)
24-
```
25-
- `pooling_type` 目前支持两种,分别是:MaxPooling()和AvgPooling()。
26-
- `agg_level=AggregateLevel.TIMESTEP`时(默认值):
27-
- 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列
28-
- 输入:一个双层序列,或一个单层序列
29-
- 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值)
30-
- `agg_level=AggregateLevel.EACH_SEQUENCE`时:
31-
- 作用:一个双层序列经过运算变成一个单层序列
32-
- 输入:必须是一个双层序列
33-
- 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值)
34-
35-
## last_seq 和 first_seq
36-
37-
last_seq的使用示例如下(first_seq类似),详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#last-seq">配置API</a>。
38-
```python
39-
last = last_seq(input=layer,
40-
agg_level=AggregateLevel.EACH_SEQUENCE)
41-
```
42-
- `agg_level=AggregateLevel.TIMESTEP`时(默认值):
43-
- 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列
44-
- 输入:一个双层序列或一个单层序列
45-
- 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。
46-
- `agg_level=AggregateLevel.EACH_SEQUENCE`时:
47-
- 作用:一个双层序列经过运算变成一个单层序列
48-
- 输入:必须是一个双层序列
49-
- 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。
50-
51-
## expand_layer
52-
53-
expand_layer的使用示例如下,详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#expand-layer">配置API</a>。
54-
```python
55-
expand = expand_layer(input=layer1,
56-
expand_as=layer2,
57-
expand_level=ExpandLevel.FROM_TIMESTEP)
58-
```
59-
- `expand_level=ExpandLevel.FROM_TIMESTEP`时(默认值):
60-
- 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列
61-
- 输入:layer1必须是一个0层序列,是待扩展的数据;layer2可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息
62-
- 输出:一个单层序列,或一个双层序列,输出序列的类型(双层序列,或单层序列)和序列中含有元素的数目同 layer2一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝
63-
- `expand_level=ExpandLevel.FROM_SEQUENCE`时:
64-
- 作用:一个单层序列经过运算扩展成一个双层序列
65-
- 输入:layer1必须是一个单层序列,是待扩展的数据;layer2必须是一个双层序列,提供扩展的长度信息
66-
- 输出:一个双层序列,序列中含有元素的数目同layer2一致。要求单层序列含有元素的数目(0层序列),和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个subseq。
1+
# 支持双层序列作为输入的Layer
2+
3+
## 概述
4+
5+
在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。
6+
7+
双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。
8+
9+
我们可以按照如下层次定义非序列,单层序列,以及双层序列。
10+
11+
+ 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型
12+
+ 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息
13+
+ 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列
14+
15+
16+
在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。
17+
## pooling_layer
18+
19+
pooling_layer的使用示例如下,详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#pooling-layer">配置API</a>。
20+
```python
21+
seq_pool = pooling_layer(input=layer,
22+
pooling_type=AvgPooling(),
23+
agg_level=AggregateLevel.EACH_SEQUENCE)
24+
```
25+
- `pooling_type` 目前支持两种,分别是:MaxPooling()和AvgPooling()。
26+
- `agg_level=AggregateLevel.TIMESTEP`时(默认值):
27+
- 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列
28+
- 输入:一个双层序列,或一个单层序列
29+
- 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值)
30+
- `agg_level=AggregateLevel.EACH_SEQUENCE`时:
31+
- 作用:一个双层序列经过运算变成一个单层序列
32+
- 输入:必须是一个双层序列
33+
- 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值)
34+
35+
## last_seq 和 first_seq
36+
37+
last_seq的使用示例如下(first_seq类似),详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#last-seq">配置API</a>。
38+
```python
39+
last = last_seq(input=layer,
40+
agg_level=AggregateLevel.EACH_SEQUENCE)
41+
```
42+
- `agg_level=AggregateLevel.TIMESTEP`时(默认值):
43+
- 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列
44+
- 输入:一个双层序列或一个单层序列
45+
- 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。
46+
- `agg_level=AggregateLevel.EACH_SEQUENCE`时:
47+
- 作用:一个双层序列经过运算变成一个单层序列
48+
- 输入:必须是一个双层序列
49+
- 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。
50+
51+
## expand_layer
52+
53+
expand_layer的使用示例如下,详细见<a href = "../../../doc/ui/api/trainer_config_helpers/layers.html#expand-layer">配置API</a>。
54+
```python
55+
expand = expand_layer(input=layer1,
56+
expand_as=layer2,
57+
expand_level=ExpandLevel.FROM_TIMESTEP)
58+
```
59+
- `expand_level=ExpandLevel.FROM_TIMESTEP`时(默认值):
60+
- 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列
61+
- 输入:layer1必须是一个0层序列,是待扩展的数据;layer2可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息
62+
- 输出:一个单层序列,或一个双层序列,输出序列的类型(双层序列,或单层序列)和序列中含有元素的数目同 layer2一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝
63+
- `expand_level=ExpandLevel.FROM_SEQUENCE`时:
64+
- 作用:一个单层序列经过运算扩展成一个双层序列
65+
- 输入:layer1必须是一个单层序列,是待扩展的数据;layer2必须是一个双层序列,提供扩展的长度信息
66+
- 输出:一个双层序列,序列中含有元素的数目同layer2一致。要求单层序列含有元素的数目(0层序列),和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个subseq。

0 commit comments

Comments
 (0)