|
19 | 19 | from models.yolox import get_model
|
20 | 20 | from models.post_process import yolox_post_process
|
21 | 21 | from utils.lr_scheduler import LRScheduler
|
22 |
| -from utils.util import AverageMeter, write_log, configure_module |
| 22 | +from utils.util import AverageMeter, write_log, configure_module, occupy_mem |
23 | 23 | from utils.model_utils import EMA, save_model, load_model, ensure_same, clip_grads
|
24 | 24 | from utils.data_parallel import set_device, _DataParallel
|
25 | 25 | from utils.logger import Logger
|
@@ -98,8 +98,7 @@ def run_epoch(model_with_loss, optimizer, scaler, ema, phase, epoch, data_iter,
|
98 | 98 | avg_loss_stats[l] = AverageMeter()
|
99 | 99 | avg_loss_stats[l].update(loss_stats[l], inps.size(0))
|
100 | 100 | Bar.suffix = Bar.suffix + '|{} {:.4f} '.format(l, avg_loss_stats[l].avg)
|
101 |
| - Bar.suffix = Bar.suffix + '|Data {dt.val:.3f}s({dt.avg:.3f}s) |Net {bt.avg:.3f}s'.format(dt=data_time, |
102 |
| - bt=batch_time) |
| 101 | + Bar.suffix = Bar.suffix + '|Data {dt.val:.3f}s |Batch {bt.val:.3f}s'.format(dt=data_time, bt=batch_time) |
103 | 102 | if opt.print_iter > 0 and iter_id % opt.print_iter == 0:
|
104 | 103 | print('{}| {}'.format(opt.exp_id, Bar.suffix))
|
105 | 104 | logger.write('{}| {}\n'.format(opt.exp_id, Bar.suffix))
|
@@ -178,6 +177,7 @@ def train(model, scaler, train_loader, val_loader, optimizer, lr_scheduler, star
|
178 | 177 | if loss_dict_val['loss'] <= best:
|
179 | 178 | best = loss_dict_val['loss']
|
180 | 179 | save_model(os.path.join(opt.save_dir, 'model_best.pth'), epoch, model)
|
| 180 | + del loss_dict_val, preds |
181 | 181 |
|
182 | 182 | save_model(os.path.join(opt.save_dir, 'model_{}.pth'.format(epoch)), epoch,
|
183 | 183 | model) if epoch % opt.save_epoch == 0 else ""
|
@@ -227,6 +227,8 @@ def main():
|
227 | 227 |
|
228 | 228 | # DP
|
229 | 229 | opt.device = torch.device('cuda' if opt.gpus[0] >= 0 else 'cpu')
|
| 230 | + if opt.occupy_mem and opt.device.type != 'cpu': |
| 231 | + occupy_mem(opt.device) |
230 | 232 | model, optimizer = set_device(model, optimizer, opt)
|
231 | 233 | train(model, scaler, train_loader, val_loader, optimizer, lr_scheduler, start_epoch, opt.accumulate, no_aug)
|
232 | 234 |
|
|
0 commit comments