Skip to content

Commit daa70c1

Browse files
author
chengduo
authored
Merge pull request #45 from chengduoZH/feature/mnist_enable_gpu
make mnist.py enable running in GPU
2 parents 11276f2 + 9de68b6 commit daa70c1

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

fluid/mnist.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,32 +123,32 @@ def run_benchmark(model, args):
123123
train_reader = paddle.batch(
124124
paddle.dataset.mnist.train(), batch_size=args.batch_size)
125125

126-
place = core.CPUPlace()
126+
place = core.CPUPlace() if args.device == 'CPU' else core.CUDAPlace(0)
127127
exe = fluid.Executor(place)
128128

129129
exe.run(fluid.default_startup_program())
130130

131131
for pass_id in range(args.pass_num):
132132
accuracy.reset(exe)
133-
pass_start = time.clock()
133+
pass_start = time.time()
134134
for batch_id, data in enumerate(train_reader()):
135135
img_data = np.array(
136136
map(lambda x: x[0].reshape([1, 28, 28]), data)).astype(DTYPE)
137137
y_data = np.array(map(lambda x: x[1], data)).astype("int64")
138138
y_data = y_data.reshape([len(y_data), 1])
139139

140-
start = time.clock()
140+
start = time.time()
141141
outs = exe.run(fluid.default_main_program(),
142142
feed={"pixel": img_data,
143143
"label": y_data},
144144
fetch_list=[avg_cost] + accuracy.metrics)
145-
end = time.clock()
145+
end = time.time()
146146
loss = np.array(outs[0])
147147
acc = np.array(outs[1])
148148
print("pass=%d, batch=%d, loss=%f, error=%f, elapse=%f" %
149149
(pass_id, batch_id, loss, 1 - acc, (end - start) / 1000))
150150

151-
pass_end = time.clock()
151+
pass_end = time.time()
152152
test_avg_acc = eval_test(exe, accuracy, avg_cost)
153153
pass_acc = accuracy.eval(exe)
154154
print("pass=%d, test_avg_acc=%f, test_avg_acc=%f, elapse=%f" %

fluid/stacked_dynamic_lstm.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import cPickle
33
import os
44
import random
5+
import time
56

67
import numpy
78
import paddle.v2.dataset.imdb as imdb
@@ -122,6 +123,8 @@ def train_loop(pass_num, crop_size):
122123
crop_sentence(imdb.train(word_dict), crop_size), clean=args.clean)
123124
for pass_id in range(pass_num):
124125
train_reader = batch(cache, batch_size=args.batch_size)
126+
127+
pass_start_time = time.time()
125128
for batch_id, data in enumerate(train_reader()):
126129
tensor_words = to_lodtensor([x[0] for x in data], place)
127130
label = numpy.array([x[1] for x in data]).astype("int64")
@@ -131,7 +134,10 @@ def train_loop(pass_num, crop_size):
131134
"label": label},
132135
fetch_list=[loss])[0]
133136
print 'Pass', pass_id, 'Batch', batch_id, 'loss', loss_np
134-
print 'Pass', pass_id, 'Done'
137+
138+
pass_end_time = time.time()
139+
time_consumed = pass_end_time - pass_start_time
140+
print("pass_id=%d, sec/pass: %f" % (pass_id, time_consumed))
135141

136142
train_loop(args.pass_num, args.crop_size)
137143

tensorflow/mnist.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,21 +129,21 @@ def eval_test():
129129
sess.run(init_g)
130130
sess.run(init_l)
131131
for pass_id in range(PASS_NUM):
132-
pass_start = time.clock()
132+
pass_start = time.time()
133133
for batch_id, data in enumerate(train_reader()):
134134
images_data = np.array(
135135
map(lambda x: np.transpose(x[0].reshape([1, 28, 28]), axes=[1,2,0]), data)).astype("float32")
136136
labels_data = np.array(map(lambda x: x[1], data)).astype("int64")
137-
start = time.clock()
137+
start = time.time()
138138
_, loss, acc, g_acc = sess.run(
139139
[train_op, avg_cost, accuracy, g_accuracy],
140140
feed_dict={images: images_data,
141141
labels: labels_data})
142-
end = time.clock()
142+
end = time.time()
143143

144144
print("pass=%d, batch=%d, loss=%f, error=%f, elapse=%f" %
145145
(pass_id, batch_id, loss, 1 - acc, (end - start) / 1000))
146-
pass_end = time.clock()
146+
pass_end = time.time()
147147
test_avg_acc = eval_test()
148148
print("pass=%d, training_avg_accuracy=%f, test_avg_acc=%f, elapse=%f" %
149149
(pass_id, g_acc[1], test_avg_acc, (pass_end - pass_start) / 1000))

0 commit comments

Comments
 (0)