if args.visdom: viz = pt_utils.VisdomViz(port=args.visdom_port) else: viz = pt_utils.CmdLineViz() viz.text(pprint.pformat(vars(args))) if not osp.isdir("checkpoints"): os.makedirs("checkpoints") trainer = pt_utils.Trainer( model, model_fn, optimizer, checkpoint_name="checkpoints/pointnet2_cls", best_name="checkpoints/pointnet2_cls_best", lr_scheduler=lr_scheduler, bnm_scheduler=bnm_scheduler, viz=viz, ) trainer.train(it, start_epoch, args.epochs, train_loader, test_loader, best_loss=best_loss) if start_epoch == args.epochs: _ = trainer.eval_epoch(test_loader)
if args.visdom: viz = pt_utils.VisdomViz(port=args.visdom_port) else: viz = pt_utils.CmdLineViz() viz.text(pprint.pformat(vars(args))) if not osp.isdir("checkpoints"): os.makedirs("checkpoints") trainer = pt_utils.Trainer( model, model_fn, optimizer, checkpoint_name="checkpoints/"+os.path.basename(args.output), best_name="checkpoints/"+os.path.basename(args.output)+"_best", lr_scheduler=lr_scheduler, bnm_scheduler=bnm_scheduler, tensorboard_logger=log_name, viz=viz, ) trainer.train( it, start_epoch, args.epochs, train_loader, val_loader, best_loss=best_loss ) test_set = Indoor3DSemSeg(args.num_points,use_colour=args.colours, split="test") test_loader = DataLoader( test_set, batch_size=1, shuffle=True,
if args.visdom: viz = pt_utils.VisdomViz(port=args.visdom_port) else: viz = pt_utils.CmdLineViz() viz.text(pprint.pformat(vars(args))) if not osp.isdir("checkpoints"): os.makedirs("checkpoints") trainer = pt_utils.Trainer( model, model_fn, optimizer, checkpoint_name=os.path.join('checkpoints', args.logfile), best_name=os.path.join('checkpoints', args.logfile) + '_best', lr_scheduler=lr_scheduler, bnm_scheduler=bnm_scheduler, viz=viz, ) trainer.train(it, start_epoch, args.epochs, train_loader, test_loader, best_loss=best_loss) if start_epoch == args.epochs: _ = trainer.eval_epoch(test_loader)
model_fn = model_fn_decorator(nn.CrossEntropyLoss()) if args.visdom: viz = pt_utils.VisdomViz(port=args.visdom_port) else: viz = pt_utils.CmdLineViz() viz.text(pprint.pformat(vars(args))) if not osp.isdir('checkpoints'): os.makedirs('checkpoints') trainer = pt_utils.Trainer(model, model_fn, optimizer, checkpoint_name="checkpoints/pointnet2_smeseg", best_name="checkpoints/poitnet2_semseg_best", lr_scheduler=lr_scheduler, bnm_scheduler=bnm_scheduler, viz=viz) trainer.train(it, start_epoch, args.epochs, train_loader, test_loader, best_loss=best_loss) if start_epoch == args.epochs: _ = trainer.eval_epoch(test_loader)
pin_memory=True, ) model = Pointnet(input_channels=0, num_classes=40, use_xyz=False, type_r=typer) model.cuda() optimizer = optim.Adam( model.parameters() ) # load status from checkpoint if args.checkpoint is not None: checkpoint_status = pt_utils.load_checkpoint( model, optimizer, filename=args.checkpoint.split(".")[0] ) if checkpoint_status is not None: it, start_epoch, best_loss = checkpoint_status model_fn = model_fn_decorator(nn.CrossEntropyLoss()) trainer = pt_utils.Trainer( model, model_fn, optimizer ) loss, stat = trainer.eval_epoch(test_loader) acc_per_cls = stat['acc'] loss_per_cls = stat['loss'] print('loss:', loss) print('Average acc:', torch.mean(torch.Tensor(acc_per_cls)).item())