Skip to content

Commit 5905d0e

Browse files
committed
Merge branch 'develop' of github.com:baidu/Paddle into feature/better_infer_interface
2 parents 0d2d419 + 79e95c1 commit 5905d0e

File tree

18 files changed

+416
-367
lines changed

18 files changed

+416
-367
lines changed

demo/image_classification/api_v2_train.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,27 @@
1313
# limitations under the License
1414

1515
import sys
16+
1617
import paddle.v2 as paddle
18+
1719
from api_v2_vgg import vgg_bn_drop
18-
from api_v2_resnet import resnet_cifar10
1920

2021

2122
def main():
2223
datadim = 3 * 32 * 32
2324
classdim = 10
2425

2526
# PaddlePaddle init
26-
paddle.init(use_gpu=True, trainer_count=1)
27+
paddle.init(use_gpu=False, trainer_count=1)
2728

2829
image = paddle.layer.data(
2930
name="image", type=paddle.data_type.dense_vector(datadim))
3031

3132
# Add neural network config
3233
# option 1. resnet
33-
net = resnet_cifar10(image, depth=32)
34+
# net = resnet_cifar10(image, depth=32)
3435
# option 2. vgg
35-
# net = vgg_bn_drop(image)
36+
net = vgg_bn_drop(image)
3637

3738
out = paddle.layer.fc(input=net,
3839
size=classdim,
@@ -68,8 +69,8 @@ def event_handler(event):
6869
result = trainer.test(
6970
reader=paddle.batch(
7071
paddle.dataset.cifar.test10(), batch_size=128),
71-
reader_dict={'image': 0,
72-
'label': 1})
72+
feeding={'image': 0,
73+
'label': 1})
7374
print "\nTest with Pass %d, %s" % (event.pass_id, result.metrics)
7475

7576
# Create trainer
@@ -83,8 +84,8 @@ def event_handler(event):
8384
batch_size=128),
8485
num_passes=5,
8586
event_handler=event_handler,
86-
reader_dict={'image': 0,
87-
'label': 1})
87+
feeding={'image': 0,
88+
'label': 1})
8889

8990

9091
if __name__ == '__main__':

demo/introduction/api_train_v2.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,26 @@ def main():
3030
def event_handler(event):
3131
if isinstance(event, paddle.event.EndIteration):
3232
if event.batch_id % 100 == 0:
33-
print "Pass %d, Batch %d, Cost %f, %s" % (
34-
event.pass_id, event.batch_id, event.cost, event.metrics)
33+
print "Pass %d, Batch %d, Cost %f" % (
34+
event.pass_id, event.batch_id, event.cost)
3535

3636
if isinstance(event, paddle.event.EndPass):
37-
result = trainer.test(
38-
reader=paddle.reader.batched(
39-
uci_housing.test(), batch_size=2),
40-
reader_dict={'x': 0,
37+
if (event.pass_id + 1) % 10 == 0:
38+
result = trainer.test(
39+
reader=paddle.batch(
40+
uci_housing.test(), batch_size=2),
41+
feeding={'x': 0,
4142
'y': 1})
42-
if event.pass_id % 10 == 0:
43-
print "Test %d, %s" % (event.pass_id, result.metrics)
43+
print "Test %d, %.2f" % (event.pass_id, result.cost)
4444

4545
# training
4646
trainer.train(
47-
reader=paddle.reader.batched(
47+
reader=paddle.batch(
4848
paddle.reader.shuffle(
4949
uci_housing.train(), buf_size=500),
5050
batch_size=2),
51-
reader_dict={'x': 0,
52-
'y': 1},
51+
feeding={'x': 0,
52+
'y': 1},
5353
event_handler=event_handler,
5454
num_passes=30)
5555

demo/mnist/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ plot.png
55
train.log
66
*pyc
77
.ipynb_checkpoints
8+
params.pkl
9+
params.tar
10+
params.tar.gz

demo/mnist/api_train_v2.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import paddle.v2 as paddle
2+
import gzip
23

34

45
def softmax_regression(img):
@@ -71,7 +72,11 @@ def main():
7172

7273
cost = paddle.layer.classification_cost(input=predict, label=label)
7374

74-
parameters = paddle.parameters.create(cost)
75+
try:
76+
with gzip.open('params.tar.gz', 'r') as f:
77+
parameters = paddle.parameters.Parameters.from_tar(f)
78+
except IOError:
79+
parameters = paddle.parameters.create(cost)
7580

7681
optimizer = paddle.optimizer.Momentum(
7782
learning_rate=0.1 / 128.0,
@@ -86,10 +91,18 @@ def main():
8691

8792
def event_handler(event):
8893
if isinstance(event, paddle.event.EndIteration):
89-
if event.batch_id % 100 == 0:
90-
print "Pass %d, Batch %d, Cost %f, %s" % (
91-
event.pass_id, event.batch_id, event.cost, event.metrics)
92-
if isinstance(event, paddle.event.EndPass):
94+
if event.batch_id % 1000 == 0:
95+
result = trainer.test(reader=paddle.batch(
96+
paddle.dataset.mnist.test(), batch_size=256))
97+
98+
print "Pass %d, Batch %d, Cost %f, %s, Testing metrics %s" % (
99+
event.pass_id, event.batch_id, event.cost, event.metrics,
100+
result.metrics)
101+
102+
with gzip.open('params.tar.gz', 'w') as f:
103+
parameters.to_tar(f)
104+
105+
elif isinstance(event, paddle.event.EndPass):
93106
result = trainer.test(reader=paddle.batch(
94107
paddle.dataset.mnist.test(), batch_size=128))
95108
print "Test with Pass %d, Cost %f, %s\n" % (

demo/semantic_role_labeling/api_train_v2.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,11 @@ def event_handler(event):
163163
update_equation=optimizer)
164164
parameters.set('emb', load_parameter(conll05.get_embedding(), 44068, 32))
165165

166-
trn_reader = paddle.reader.batched(
166+
trn_reader = paddle.batch(
167167
paddle.reader.shuffle(
168168
conll05.test(), buf_size=8192), batch_size=10)
169169

170-
reader_dict = {
170+
feeding = {
171171
'word_data': 0,
172172
'ctx_n2_data': 1,
173173
'ctx_n1_data': 2,
@@ -183,7 +183,7 @@ def event_handler(event):
183183
reader=trn_reader,
184184
event_handler=event_handler,
185185
num_passes=10000,
186-
reader_dict=reader_dict)
186+
feeding=feeding)
187187

188188

189189
if __name__ == '__main__':

demo/sentiment/train_v2.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@
1818
import paddle.v2 as paddle
1919

2020

21-
def convolution_net(input_dim,
22-
class_dim=2,
23-
emb_dim=128,
24-
hid_dim=128,
25-
is_predict=False):
21+
def convolution_net(input_dim, class_dim=2, emb_dim=128, hid_dim=128):
2622
data = paddle.layer.data("word",
2723
paddle.data_type.integer_value_sequence(input_dim))
2824
emb = paddle.layer.embedding(input=data, size=emb_dim)
@@ -42,8 +38,7 @@ def stacked_lstm_net(input_dim,
4238
class_dim=2,
4339
emb_dim=128,
4440
hid_dim=512,
45-
stacked_num=3,
46-
is_predict=False):
41+
stacked_num=3):
4742
"""
4843
A Wrapper for sentiment classification task.
4944
This network uses bi-directional recurrent network,
@@ -110,7 +105,7 @@ def stacked_lstm_net(input_dim,
110105

111106
if __name__ == '__main__':
112107
# init
113-
paddle.init(use_gpu=True, trainer_count=4)
108+
paddle.init(use_gpu=False, trainer_count=4)
114109

115110
# network config
116111
print 'load dictionary...'
@@ -143,11 +138,11 @@ def event_handler(event):
143138
sys.stdout.flush()
144139
if isinstance(event, paddle.event.EndPass):
145140
result = trainer.test(
146-
reader=paddle.reader.batched(
141+
reader=paddle.batch(
147142
lambda: paddle.dataset.imdb.test(word_dict),
148143
batch_size=128),
149-
reader_dict={'word': 0,
150-
'label': 1})
144+
feeding={'word': 0,
145+
'label': 1})
151146
print "\nTest with Pass %d, %s" % (event.pass_id, result.metrics)
152147

153148
# create trainer
@@ -156,11 +151,11 @@ def event_handler(event):
156151
update_equation=adam_optimizer)
157152

158153
trainer.train(
159-
reader=paddle.reader.batched(
154+
reader=paddle.batch(
160155
paddle.reader.shuffle(
161156
lambda: paddle.dataset.imdb.train(word_dict), buf_size=1000),
162157
batch_size=100),
163158
event_handler=event_handler,
164-
reader_dict={'word': 0,
165-
'label': 1},
159+
feeding={'word': 0,
160+
'label': 1},
166161
num_passes=10)

0 commit comments

Comments
 (0)