From d9347a9a7a95a7bde288af0c8057d3ed0eeb4ac0 Mon Sep 17 00:00:00 2001 From: leanna62 <453938692@qq.com> Date: Thu, 25 Jan 2018 13:21:53 +0800 Subject: [PATCH 1/2] add paddle vgg16 train visual --- fluid/vgg16.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/fluid/vgg16.py b/fluid/vgg16.py index 5b2eaaf..433d548 100644 --- a/fluid/vgg16.py +++ b/fluid/vgg16.py @@ -9,6 +9,7 @@ import paddle.v2.fluid.core as core import argparse import functools +from visualdl import LogWriter parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( @@ -37,6 +38,21 @@ default='cifar10', choices=['cifar10', 'flowers'], help='Optional dataset for benchmark.') +parser.add_argument( + '--log_dir', + type=str, + default='./', + help='visual output') +parser.add_argument( + '--sync_cycle', + type=int, + default=100, + help='sync duration') +parser.add_argument( + '--sample_rate', + type=int, + default=100, + help='visual sample rate') args = parser.parse_args() @@ -140,7 +156,18 @@ def test(exe): return accuracy.eval(exe) + # init LogWriter + logw = LogWriter(args.log_dir, args.sync_cycle) + + # create scalars in mode train and test. + with logw.mode('loss') as logger: + scalar0 = logger.scalar("paddle_vgg16_%s_%s_%d/scalar" % (args.device, args.data_set, args.batch_size)) + + with logw.mode('acc') as logger: + scalar1 = logger.scalar("paddle_vgg16_%s_%s_%d/scalar" % (args.device, args.data_set, args.batch_size)) + iters = 0 + step = 0 for pass_id in range(args.num_passes): # train start_time = time.time() @@ -158,6 +185,10 @@ def test(exe): fetch_list=[avg_cost] + accuracy.metrics) iters += 1 num_samples += len(data) + if step % args.sample_rate == 0: + scalar0.add_record(step, loss) + scalar1.add_record(step, acc) + step += 1 print( "Pass = %d, Iters = %d, Loss = %f, Accuracy = %f" % (pass_id, iters, loss, acc) From 2a87ce0f32ac9bd3e8fa63de8b932ee822f2a391 Mon Sep 17 00:00:00 2001 From: leanna62 <453938692@qq.com> Date: Thu, 1 Feb 2018 19:39:24 +0800 Subject: [PATCH 2/2] update code style --- fluid/vgg16.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/fluid/vgg16.py b/fluid/vgg16.py index 433d548..88152df 100644 --- a/fluid/vgg16.py +++ b/fluid/vgg16.py @@ -19,7 +19,7 @@ type=float, default=1e-3, help="Learning rate for training.") -parser.add_argument('--num_passes', type=int, default=50, help="No. of passes.") +parser.add_argument('--pass_num', type=int, default=50, help="Number of passes.") parser.add_argument( '--device', type=str, @@ -42,17 +42,17 @@ '--log_dir', type=str, default='./', - help='visual output') + help='VisualDL output path') parser.add_argument( '--sync_cycle', type=int, default=100, - help='sync duration') + help='Synchronize duraion') parser.add_argument( '--sample_rate', type=int, default=100, - help='visual sample rate') + help='VisualDL sample rate') args = parser.parse_args() @@ -167,7 +167,6 @@ def test(exe): scalar1 = logger.scalar("paddle_vgg16_%s_%s_%d/scalar" % (args.device, args.data_set, args.batch_size)) iters = 0 - step = 0 for pass_id in range(args.num_passes): # train start_time = time.time() @@ -186,9 +185,8 @@ def test(exe): iters += 1 num_samples += len(data) if step % args.sample_rate == 0: - scalar0.add_record(step, loss) - scalar1.add_record(step, acc) - step += 1 + scalar0.add_record(iters, loss) + scalar1.add_record(iters, acc) print( "Pass = %d, Iters = %d, Loss = %f, Accuracy = %f" % (pass_id, iters, loss, acc)