Skip to content

Commit c4b28f4

Browse files
authored
Merge pull request #1957 from wangkuiyi/polish-release-note
Polish release notes
2 parents c3e23a9 + 99687e3 commit c4b28f4

File tree

2 files changed

+80
-48
lines changed

2 files changed

+80
-48
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
2-
sha: c25201a00e6b0514370501050cf2a8538ac12270
2+
sha: v1.0.1
33
hooks:
44
- id: remove-crlf
55
files: (?!.*third_party)^.*$ | (?!.*book)^.*$
66
- repo: https://github.com/reyoung/mirrors-yapf.git
77
sha: v0.13.2
88
hooks:
9-
- id: yapf
10-
files: (.*\.(py|bzl)|BUILD|.*\.BUILD|WORKSPACE)$
9+
- id: yapf
10+
files: (.*\.(py|bzl)|BUILD|.*\.BUILD|WORKSPACE)$
1111
- repo: https://github.com/pre-commit/pre-commit-hooks
12-
sha: 7539d8bd1a00a3c1bfd34cdb606d3a6372e83469
12+
sha: 5bf6c09bfa1297d3692cadd621ef95f1284e33c0
1313
hooks:
1414
- id: check-added-large-files
1515
- id: check-merge-conflict

RELEASE.md

Lines changed: 76 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,105 @@
11
# Release v0.10.0
22

3+
We are glad to release version 0.10.0. In this version, we are happy to
4+
release the
5+
new
6+
[Python API](http://research.baidu.com/paddlepaddles-new-api-simplifies-deep-learning-programs/).
7+
8+
- Our old Python API is kind of out of date. It's hard to learn and hard to
9+
use. To write a PaddlePaddle program using the old API, we'd have to write
10+
at least two Python files: one `data provider` and another one that defines
11+
the network topology. Users start a PaddlePaddle job by running the
12+
`paddle_trainer` C++ program, which calls Python interpreter to run the
13+
network topology configuration script and then start the training loop,
14+
which iteratively calls the data provider function to load minibatches.
15+
This prevents us from writing a Python program in a modern way, e.g., in the
16+
Jupyter Notebook.
17+
18+
- The new API, which we often refer to as the *v2 API*, allows us to write
19+
much shorter Python programs to define the network and the data in a single
20+
.py file. Also, this program can run in Jupyter Notebook, since the entry
21+
point is in Python program and PaddlePaddle runs as a shared library loaded
22+
and invoked by this Python program.
23+
24+
Basing on the new API, we delivered an online interative
25+
book, [Deep Learning 101](http://book.paddlepaddle.org/index.en.html)
26+
and [its Chinese version](http://book.paddlepaddle.org/).
27+
28+
We also worked on updating our online documentation to describe the new API.
29+
But this is an ongoing work. We will release more documentation improvements
30+
in the next version.
31+
32+
We also worked on bring the new API to distributed model training (via MPI and
33+
Kubernetes). This work is ongoing. We will release more about it in the next
34+
version.
35+
336
## New Features
437

5-
* We release [new python API](http://research.baidu.com/paddlepaddles-new-api-simplifies-deep-learning-programs/).
38+
* We release [new Python API](http://research.baidu.com/paddlepaddles-new-api-simplifies-deep-learning-programs/).
639
* Deep Learning 101 book in [English](http://book.paddlepaddle.org/index.en.html) and [Chinese](http://book.paddlepaddle.org/).
740
* Support rectangle input for CNN.
841
* Support stride pooling for seqlastin and seqfirstin.
9-
* Expose seq_concat_layer/seq_reshape_layer in `trainer_config_helpers`.
10-
* Add dataset package
11-
- CIFAR, MNIST, IMDB, WMT14, CONLL05, movielens, imikolov.
42+
* Expose `seq_concat_layer/seq_reshape_layer` in `trainer_config_helpers`.
43+
* Add dataset package: CIFAR, MNIST, IMDB, WMT14, CONLL05, movielens, imikolov.
1244
* Add Priorbox layer for Single Shot Multibox Detection.
1345
* Add smooth L1 cost.
1446
* Add data reader creator and data reader decorator for v2 API.
15-
* Add the cpu implementation of cmrnorm-projection.
47+
* Add the CPU implementation of cmrnorm projection.
1648

1749
## Improvements
1850

19-
* Support python virtualenv for `paddle_trainer` process.
51+
* Support Python virtualenv for `paddle_trainer`.
2052
* Add pre-commit hooks, used for automatically format our code.
21-
* Use Protobuf 3.X as the default Paddle Protobuf version.
22-
* Add an option to check data type in python data provider.
53+
* Upgrade protobuf to version 3.x.
54+
* Add an option to check data type in Python data provider.
2355
* Speedup the backward of average layer on GPU.
24-
* Reorganize the catalog of doc/ and refine several docs.
25-
* Add Travis-CI for checking dead links.
26-
* Add a example for explaining sparse_vector.
27-
* Add Relu in layer_math.py
28-
* Simplify data processing flow for quick start.
56+
* Documentation refinement.
57+
* Check dead links in documents using Travis-CI.
58+
* Add a example for explaining `sparse_vector`.
59+
* Add ReLU in layer_math.py
60+
* Simplify data processing flow for Quick Start.
2961
* Support CUDNN Deconv.
30-
* Add data feeder for v2 API.
62+
* Add data feeder in v2 API.
3163
* Support predicting the samples from sys.stdin for sentiment demo.
3264
* Provide multi-proccess interface for image preprocessing.
3365
* Add benchmark document for v1 API.
34-
* Add Relu in layer_math.py.
66+
* Add ReLU in `layer_math.py`.
3567
* Add packages for automatically downloading public datasets.
36-
* Rename Argument::sumCost to Argument::sum since Argument does not have to have any relationship with cost.
37-
* Expose Argument::sum to Python
68+
* Rename `Argument::sumCost` to `Argument::sum` since class `Argument` is nothing with cost.
69+
* Expose Argument::sum to Python
3870
* Add a new `TensorExpression` implementation for matrix-related expression evaluations.
39-
* Add Lazy Assignment for optimize the calculation of multiple expressions.
40-
* Add `Function` to reconstruct the computation function.
41-
* PadFunc and PadGradFunc.
42-
* ContextProjectionForwardFunc and ContextProjectionBackwardFunc.
43-
* CosSimBackward and CosSimBackwardFunc.
44-
* CrossMapNormalFunc and CrossMapNormalGradFunc.
45-
* MulFunc.
46-
* Add `AutoCompare` and `FunctionCompare`, which make it easier to write unittest for comparing gpu and cpu version of a function.
47-
* Add `libpaddle_test_main.a` and remove the main function inside the test file.
71+
* Add lazy assignment for optimizing the calculation of a batch of multiple expressions.
72+
* Add abstract calss `Function` and its implementation:
73+
* `PadFunc` and `PadGradFunc`.
74+
* `ContextProjectionForwardFunc` and `ContextProjectionBackwardFunc`.
75+
* `CosSimBackward` and `CosSimBackwardFunc`.
76+
* `CrossMapNormalFunc` and `CrossMapNormalGradFunc`.
77+
* `MulFunc`.
78+
* Add class `AutoCompare` and `FunctionCompare`, which make it easier to write unit tests for comparing gpu and cpu version of a function.
79+
* Generate `libpaddle_test_main.a` and remove the main function inside the test file.
4880
* Support dense numpy vector in PyDataProvider2.
49-
* Clean code base, remove some copy & paste codes before.
50-
* Extract RowBuffer class for SparseRowMatrix.
51-
* Clean GradientMachine's interface.
52-
* Try use `override` keyword in layer.
53-
* Simplify Evaluator::create, use `ClassRegister` to create Evaluator.
54-
* Add md5 check when downloading demo's dataset.
81+
* Clean code base, remove some copy-n-pasted code snippets:
82+
* Extract `RowBuffer` class for `SparseRowMatrix`.
83+
* Clean the interface of `GradientMachine`.
84+
* Use `override` keyword in layer.
85+
* Simplify `Evaluator::create`, use `ClassRegister` to create `Evaluator`s.
86+
* Check MD5 checksum when downloading demo's dataset.
5587
* Add `paddle::Error` which intentially replace `LOG(FATAL)` in Paddle.
5688

5789
## Bug Fixes
5890

59-
* Add layer check for recurrent_group.
60-
* Clang-format off on some cuda .cc files.
61-
* Fix LogActivation which is not defined.
62-
* Fix bug when run test_layerHelpers multiple times.
63-
* Fix protobuf size limit on seq2seq demo.
64-
* Fix bug for dataprovider converter in GPU mode.
65-
* Fix bug in GatedRecurrentLayer which only occurs in predicting or `job=test` mode.
66-
* Fix bug for BatchNorm when testing more than models in test mode.
67-
* Fix unit test of paramRelu.
68-
* Fix some warning about CpuSparseMatrix.
69-
* Fix MultiGradientMachine error if trainer_count > batch_size.
70-
* Fix when async load data in PyDataProvider2.
91+
* Check layer input types for `recurrent_group`.
92+
* Don't run `clang-format` with .cu source files.
93+
* Fix bugs with `LogActivation`.
94+
* Fix the bug that runs `test_layerHelpers` multiple times.
95+
* Fix the bug that the seq2seq demo exceeds protobuf message size limit.
96+
* Fix the bug in dataprovider converter in GPU mode.
97+
* Fix a bug in `GatedRecurrentLayer`.
98+
* Fix bug for `BatchNorm` when testing more than one models.
99+
* Fix broken unit test of paramRelu.
100+
* Fix some compile-time warnings about `CpuSparseMatrix`.
101+
* Fix `MultiGradientMachine` error when `trainer_count > batch_size`.
102+
* Fix bugs that prevents from asynchronous data loading in `PyDataProvider2`.
71103

72104
# Release v0.9.0
73105

0 commit comments

Comments
 (0)