Exemplo n.º 1
0
if args.resume is not None:
    print('Loading checkpoint / model...')
    model_net.load_model(torch.load(args.resume)['model'])

else:
    # Init weights of base
    if not args.pretrained_base:
        print('Init pretrained base...')
        model_net.base_net.apply(init)
    else:
        print('Loading pretrained base...')

    # Init the rest of weights
    print('Init misc, extras, locations and confidences...')
    model_net.apply_only_non_base(init)

"""
    DATASET DEFINITION
"""
train_dataset = LogoDataset(root=os.path.dirname(os.path.abspath(__file__)) + '/dataset/logos/data', transform=SSD.Utils.Transform(AUGMENTERS, model_net.image_size))
val_dataset = LogoDataset(root=os.path.dirname(os.path.abspath(__file__)) + '/dataset/logos/data', transform=SSD.Utils.Transform(None, model_net.image_size))
size_train_dataset = int(0.8 * len(train_dataset))
indices = torch.randperm(len(train_dataset)).cpu()
train_dataset, val_dataset = torch.utils.data.dataset.Subset(train_dataset, indices[:size_train_dataset]), torch.utils.data.dataset.Subset(val_dataset, indices[size_train_dataset:])

"""
    OPTIMIZER DEFINITION
"""
optimizer = torch.optim.Adam(net.parameters(), lr=args.lr, weight_decay=args.weight_decay)