コード例 #1
0
    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)
コード例 #2
0
ファイル: train_sem_seg.py プロジェクト: migari01/ANNFASS
    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,
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
        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())