diff --git a/tools/program.py b/tools/program.py index ae6491768ceff0379c917c45fd29b30514eba9c1..cff43102d29e65c5375c001e7ee91ecf309132bc 100755 --- a/tools/program.py +++ b/tools/program.py @@ -237,8 +237,9 @@ def train(config, vdl_writer.add_scalar('TRAIN/{}'.format(k), v, global_step) vdl_writer.add_scalar('TRAIN/lr', lr, global_step) - if dist.get_rank( - ) == 0 and global_step > 0 and global_step % print_batch_step == 0: + if dist.get_rank() == 0 and ( + (global_step > 0 and global_step % print_batch_step == 0) or + (idx >= len(train_dataloader) - 1)): logs = train_stats.log() strs = 'epoch: [{}/{}], iter: {}, {}, reader_cost: {:.5f} s, batch_cost: {:.5f} s, samples: {}, ips: {:.5f}'.format( epoch, epoch_num, global_step, logs, train_reader_cost / diff --git a/tools/train.py b/tools/train.py index c12cf005638ad8be8f8b8fce42e682fed2f29be7..47358ca43da46b7eb6a04cd1f7fe284efd7e96f7 100755 --- a/tools/train.py +++ b/tools/train.py @@ -52,7 +52,10 @@ def main(config, device, logger, vdl_writer): train_dataloader = build_dataloader(config, 'Train', device, logger) if len(train_dataloader) == 0: logger.error( - 'No Images in train dataset, please check annotation file and path in the configuration file' + "No Images in train dataset, please ensure\n" + + "\t1. The images num in the train label_file_list should be larger than or equal with batch size.\n" + + + "\t2. The annotation file and path in the configuration file are provided normally." ) return