diff --git a/fluid/object_detection/reader.py b/fluid/object_detection/reader.py index a30ae797b9415efbb594a9e3238985eded49d421..da0aa788570369d64f1a3db5303fc056984e3c74 100644 --- a/fluid/object_detection/reader.py +++ b/fluid/object_detection/reader.py @@ -22,6 +22,7 @@ import xml.etree.ElementTree import os import time import copy +import six class Settings(object): @@ -151,7 +152,7 @@ def preprocess(img, bbox_labels, mode, settings): mirror = int(random.uniform(0, 2)) if mirror == 1: img = img[:, ::-1, :] - for i in xrange(len(sampled_labels)): + for i in six.moves.xrange(len(sampled_labels)): tmp = sampled_labels[i][1] sampled_labels[i][1] = 1 - sampled_labels[i][3] sampled_labels[i][3] = 1 - tmp diff --git a/fluid/object_detection/train.py b/fluid/object_detection/train.py index 46af235ff7f6c3067e1cc2d35de76ebaf59be885..db7128b4241545ed1efc3216a28eb842db75f1de 100644 --- a/fluid/object_detection/train.py +++ b/fluid/object_detection/train.py @@ -88,16 +88,16 @@ def train(args, if 'coco' in data_args.dataset: # learning rate decay in 12, 19 pass, respectively if '2014' in train_file_list: - epocs = 82783 / batch_size + epocs = 82783 // batch_size boundaries = [epocs * 12, epocs * 19] elif '2017' in train_file_list: - epocs = 118287 / batch_size + epocs = 118287 // batch_size boundaries = [epocs * 12, epocs * 19] values = [ learning_rate, learning_rate * 0.5, learning_rate * 0.25 ] elif 'pascalvoc' in data_args.dataset: - epocs = 19200 / batch_size + epocs = 19200 // batch_size boundaries = [epocs * 40, epocs * 60, epocs * 80, epocs * 100] values = [ learning_rate, learning_rate * 0.5, learning_rate * 0.25, @@ -137,7 +137,7 @@ def train(args, model_path = os.path.join(model_save_dir, postfix) if os.path.isdir(model_path): shutil.rmtree(model_path) - print 'save models to %s' % (model_path) + print('save models to %s' % (model_path)) fluid.io.save_persistables(exe, model_path) best_map = 0. @@ -193,15 +193,15 @@ def train(args, total_time += end_time - start_time train_avg_loss = np.mean(every_pass_loss) if devices_num == 1: - print ("kpis train_cost %s" % train_avg_loss) - print ("kpis test_acc %s" % mean_map) - print ("kpis train_speed %s" % (total_time / epoch_idx)) + print("kpis train_cost %s" % train_avg_loss) + print("kpis test_acc %s" % mean_map) + print("kpis train_speed %s" % (total_time / epoch_idx)) else: - print ("kpis train_cost_card%s %s" % + print("kpis train_cost_card%s %s" % (devices_num, train_avg_loss)) - print ("kpis test_acc_card%s %s" % + print("kpis test_acc_card%s %s" % (devices_num, mean_map)) - print ("kpis train_speed_card%s %f" % + print("kpis train_speed_card%s %f" % (devices_num, total_time / epoch_idx)) diff --git a/fluid/object_detection/utility.py b/fluid/object_detection/utility.py index 506e6007ceb9059caf1163befb6ff594d67b547a..746ce25a73979a9026f740fc8fce483857677082 100644 --- a/fluid/object_detection/utility.py +++ b/fluid/object_detection/utility.py @@ -16,8 +16,10 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function + import distutils.util import numpy as np +import six from paddle.fluid import core @@ -37,7 +39,7 @@ def print_arguments(args): :type args: argparse.Namespace """ print("----------- Configuration Arguments -----------") - for arg, value in sorted(vars(args).iteritems()): + for arg, value in sorted(six.iteritems(vars(args))): print("%s: %s" % (arg, value)) print("------------------------------------------------")