From 29254ebe0d7deb5c5091853970d3bbc34579c5f6 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Mon, 23 Apr 2018 14:51:41 +0800 Subject: [PATCH 01/11] Update stacked_dynamic_lstm.py --- benchmark/fluid/stacked_dynamic_lstm.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchmark/fluid/stacked_dynamic_lstm.py b/benchmark/fluid/stacked_dynamic_lstm.py index 5fcbdd64af..73bcc47b4d 100644 --- a/benchmark/fluid/stacked_dynamic_lstm.py +++ b/benchmark/fluid/stacked_dynamic_lstm.py @@ -23,10 +23,10 @@ import random import time import numpy -import paddle.v2 as paddle -import paddle.v2.dataset.imdb as imdb +import paddle +import paddle.dataset.imdb as imdb import paddle.fluid as fluid -from paddle.v2 import batch +import paddle.batch as batch import paddle.fluid.profiler as profiler From 44b460919c1794a70c2d6b4fa175512b91711464 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Mon, 23 Apr 2018 14:52:26 +0800 Subject: [PATCH 02/11] Update machine_translation.py --- benchmark/fluid/machine_translation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/fluid/machine_translation.py b/benchmark/fluid/machine_translation.py index d7a421c109..adde5f21ac 100644 --- a/benchmark/fluid/machine_translation.py +++ b/benchmark/fluid/machine_translation.py @@ -21,7 +21,7 @@ import argparse import time import distutils.util -import paddle.v2 as paddle +import paddle import paddle.fluid as fluid import paddle.fluid.core as core import paddle.fluid.framework as framework From dd680c69e70e75e099471eeab405d29130961d44 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Mon, 23 Apr 2018 14:52:51 +0800 Subject: [PATCH 03/11] Update mnist.py --- benchmark/fluid/mnist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index dc10ac2ec1..1e2185dfac 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -20,7 +20,7 @@ import numpy as np import argparse import time -import paddle.v2 as paddle +import paddle import paddle.fluid as fluid import paddle.fluid.profiler as profiler From e964164e36010657aeea67a64ebb416d5ea87c59 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Mon, 23 Apr 2018 14:53:11 +0800 Subject: [PATCH 04/11] Update resnet.py --- benchmark/fluid/resnet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/fluid/resnet.py b/benchmark/fluid/resnet.py index 1af5eaf6b4..831fa2c019 100644 --- a/benchmark/fluid/resnet.py +++ b/benchmark/fluid/resnet.py @@ -23,7 +23,7 @@ import time import cProfile, pstats, StringIO -import paddle.v2 as paddle +import paddle import paddle.fluid as fluid import paddle.fluid.core as core import paddle.fluid.profiler as profiler From d7762b65de4f17dc702ac765b345911121093a67 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Mon, 23 Apr 2018 14:53:48 +0800 Subject: [PATCH 05/11] Update vgg.py --- benchmark/fluid/vgg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/fluid/vgg.py b/benchmark/fluid/vgg.py index 9d990eff62..53e34e0cbd 100644 --- a/benchmark/fluid/vgg.py +++ b/benchmark/fluid/vgg.py @@ -17,7 +17,7 @@ from __future__ import print_function import sys import time import numpy as np -import paddle.v2 as paddle +import paddle import paddle.fluid as fluid import paddle.fluid.core as core import argparse From ed812bdbe87ae3ccd93847c6cb6fbd6fa232bd30 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 15:22:56 +0800 Subject: [PATCH 06/11] benchmark script support multi card train --- benchmark/fluid/mnist.py | 12 ++++++------ benchmark/fluid/resnet.py | 10 ++++++---- benchmark/fluid/vgg.py | 10 ++++++---- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 1e2185dfac..3574c1c0e9 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -159,6 +159,7 @@ def run_benchmark(model, args): paddle.dataset.mnist.train(), batch_size=args.batch_size) accuracy = fluid.metrics.Accuracy() + train_exe = fluid.ParallelExecutor(use_cuda=True, loss_name=avg_cost.name) iters, num_samples, start_time = 0, 0, time.time() for pass_id in range(args.pass_num): accuracy.reset() @@ -175,17 +176,16 @@ def run_benchmark(model, args): y_data = np.array(map(lambda x: x[1], data)).astype("int64") y_data = y_data.reshape([len(y_data), 1]) - outs = exe.run( - fluid.default_main_program(), + outs = train_exe.run( feed={"pixel": img_data, "label": y_data}, - fetch_list=[avg_cost, batch_acc, batch_size_tensor] + fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name] ) # The accuracy is the accumulation of batches, but not the current batch. - accuracy.update(value=outs[1], weight=outs[2]) + accuracy.update(value=np.array(np.mean(outs[1])), weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data) - loss = np.array(outs[0]) - acc = np.array(outs[1]) + loss = np.mean(np.array(outs[0])) + acc = np.mean(np.array(outs[1])) train_losses.append(loss) train_accs.append(acc) print("Pass: %d, Iter: %d, Loss: %f, Accuracy: %f" % diff --git a/benchmark/fluid/resnet.py b/benchmark/fluid/resnet.py index 831fa2c019..5f60f806f7 100644 --- a/benchmark/fluid/resnet.py +++ b/benchmark/fluid/resnet.py @@ -241,6 +241,7 @@ def run_benchmark(model, args): exe = fluid.Executor(place) exe.run(fluid.default_startup_program()) accuracy = fluid.average.WeightedAverage() + train_exe = fluid.ParallelExecutor(use_cuda=True, loss_name=avg_cost.name) if args.use_fake_data: data = train_reader().next() image = np.array(map(lambda x: x[0].reshape(dshape), data)).astype( @@ -264,14 +265,15 @@ def run_benchmark(model, args): data)).astype('float32') label = np.array(map(lambda x: x[1], data)).astype('int64') label = label.reshape([-1, 1]) - loss, acc, weight = exe.run( - fluid.default_main_program(), + loss, acc, weight = train_exe.run( feed={'data': image, 'label': label}, - fetch_list=[avg_cost, batch_acc, batch_size_tensor]) + fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name]) iters += 1 num_samples += len(label) - accuracy.add(value=acc, weight=weight) + accuracy.add(value=np.array(np.mean(acc)), weight=np.mean(weight)) + loss = np.mean(np.array(loss)) + acc = np.mean(np.array(acc)) train_losses.append(loss) train_accs.append(acc) print("Pass: %d, Iter: %d, Loss: %f, Accuracy: %f" % diff --git a/benchmark/fluid/vgg.py b/benchmark/fluid/vgg.py index 53e34e0cbd..261446e7e9 100644 --- a/benchmark/fluid/vgg.py +++ b/benchmark/fluid/vgg.py @@ -169,6 +169,7 @@ def main(): iters, num_samples, start_time = 0, 0, time.time() accuracy = fluid.average.WeightedAverage() + train_exe = fluid.ParallelExecutor(use_cuda=True, loss_name=avg_cost.name) for pass_id in range(args.pass_num): accuracy.reset() train_accs = [] @@ -184,14 +185,15 @@ def main(): y_data = np.array(map(lambda x: x[1], data)).astype("int64") y_data = y_data.reshape([-1, 1]) - loss, acc, weight = exe.run( - fluid.default_main_program(), + loss, acc, weight = train_exe.run( feed={"pixel": img_data, "label": y_data}, - fetch_list=[avg_cost, batch_acc, batch_size_tensor]) - accuracy.add(value=acc, weight=weight) + fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name]) + accuracy.add(value=np.array(np.mean(acc)), weight=np.mean(weight)) iters += 1 num_samples += len(y_data) + loss = np.mean(np.array(loss)) + acc = np.mean(np.array(acc)) print( "Pass = %d, Iter = %d, Loss = %f, Accuracy = %f" % (pass_id, iters, loss, acc) From 1d69b1ffe37c2356710c63e611931afa026ecfd2 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 16:06:33 +0800 Subject: [PATCH 07/11] change some code style --- benchmark/fluid/mnist.py | 8 ++++++-- benchmark/fluid/resnet.py | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 3574c1c0e9..1cb4314fb2 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -179,9 +179,13 @@ def run_benchmark(model, args): outs = train_exe.run( feed={"pixel": img_data, "label": y_data}, - fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name] + fetch_list=[ + avg_cost.name, batch_acc.name, batch_size_tensor.name + ] ) # The accuracy is the accumulation of batches, but not the current batch. - accuracy.update(value=np.array(np.mean(outs[1])), weight=np.mean(np.array(outs[2]))) + accuracy.update( + value=np.array(np.mean(outs[1])), + weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data) loss = np.mean(np.array(outs[0])) diff --git a/benchmark/fluid/resnet.py b/benchmark/fluid/resnet.py index 5f60f806f7..0fd7258a80 100644 --- a/benchmark/fluid/resnet.py +++ b/benchmark/fluid/resnet.py @@ -268,7 +268,9 @@ def run_benchmark(model, args): loss, acc, weight = train_exe.run( feed={'data': image, 'label': label}, - fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name]) + fetch_list=[ + avg_cost.name, batch_acc.name, batch_size_tensor.name + ]) iters += 1 num_samples += len(label) accuracy.add(value=np.array(np.mean(acc)), weight=np.mean(weight)) From 113548801f05c01e1e16962fa09a9446a52c73f5 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 16:55:29 +0800 Subject: [PATCH 08/11] change some code style --- benchmark/fluid/mnist.py | 4 ++-- benchmark/fluid/vgg.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 1cb4314fb2..8d51d4aa60 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -184,8 +184,8 @@ def run_benchmark(model, args): ] ) # The accuracy is the accumulation of batches, but not the current batch. accuracy.update( - value=np.array(np.mean(outs[1])), - weight=np.mean(np.array(outs[2]))) + value=np.array(np.mean(outs[1])), + weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data) loss = np.mean(np.array(outs[0])) diff --git a/benchmark/fluid/vgg.py b/benchmark/fluid/vgg.py index 261446e7e9..2a9566a45c 100644 --- a/benchmark/fluid/vgg.py +++ b/benchmark/fluid/vgg.py @@ -188,7 +188,9 @@ def main(): loss, acc, weight = train_exe.run( feed={"pixel": img_data, "label": y_data}, - fetch_list=[avg_cost.name, batch_acc.name, batch_size_tensor.name]) + fetch_list=[ + avg_cost.name, batch_acc.name, batch_size_tensor.name + ]) accuracy.add(value=np.array(np.mean(acc)), weight=np.mean(weight)) iters += 1 num_samples += len(y_data) From a85d79cdcb1463c57afd5a80304dce005918eb23 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 18:39:18 +0800 Subject: [PATCH 09/11] change some code style --- benchmark/fluid/mnist.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 8d51d4aa60..1cb4314fb2 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -184,8 +184,8 @@ def run_benchmark(model, args): ] ) # The accuracy is the accumulation of batches, but not the current batch. accuracy.update( - value=np.array(np.mean(outs[1])), - weight=np.mean(np.array(outs[2]))) + value=np.array(np.mean(outs[1])), + weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data) loss = np.mean(np.array(outs[0])) From 07536903d08dc0b01cc4f871d03b55ae82012f9a Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 19:08:04 +0800 Subject: [PATCH 10/11] change some code style --- benchmark/fluid/mnist.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 1cb4314fb2..8d51d4aa60 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -184,8 +184,8 @@ def run_benchmark(model, args): ] ) # The accuracy is the accumulation of batches, but not the current batch. accuracy.update( - value=np.array(np.mean(outs[1])), - weight=np.mean(np.array(outs[2]))) + value=np.array(np.mean(outs[1])), + weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data) loss = np.mean(np.array(outs[0])) From 1ee9fea3518d75ca9e668df2d8a1af6dd18d3827 Mon Sep 17 00:00:00 2001 From: kolinwei <331911734@qq.com> Date: Wed, 16 May 2018 20:14:06 +0800 Subject: [PATCH 11/11] change some code style --- benchmark/fluid/mnist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/fluid/mnist.py b/benchmark/fluid/mnist.py index 8d51d4aa60..400200c474 100644 --- a/benchmark/fluid/mnist.py +++ b/benchmark/fluid/mnist.py @@ -184,7 +184,7 @@ def run_benchmark(model, args): ] ) # The accuracy is the accumulation of batches, but not the current batch. accuracy.update( - value=np.array(np.mean(outs[1])), + value=np.array(np.mean(outs[1])), weight=np.mean(np.array(outs[2]))) iters += 1 num_samples += len(y_data)