Exemple #1
0
def get_transform(train):
    transforms = []
    transforms.append(T.ToTensor())
    if train:
        transforms.append(T.RandomHorizontalFlip(0.5))

    if args.norm:
        transforms.append(
            T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]))
    return T.Compose(transforms)
Exemple #2
0
def get_transform(train):
    transforms = []
    transforms.append(T.ToTensor())
    if train:
        transforms.append(T.RandomHorizontalFlip(0.5))
    return T.Compose(transforms)
# get the number of input features for the classifier
in_features = model.roi_heads.box_predictor.cls_score.in_features
# replace the pre-trained head with a new one
model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes)

# now get the number of input features for the mask classifier
in_features_mask = model.roi_heads.mask_predictor.conv5_mask.in_channels
hidden_layer = 256
# and replace the mask predictor with a new one
model.roi_heads.mask_predictor = MaskRCNNPredictor(in_features_mask,
                                                   hidden_layer,
                                                   num_classes)

# Test transform
test_transform = transforms.Compose([
    transforms.ToTensor()
])
# create dataset and set seed to recreate results
dataset = TemplateDataset("dataset", test_transform)
torch.manual_seed(1)

device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')

# move model to the right device
model.to(device)

# pick one image from the test set
img, _ = dataset[0]

# put the model in evaluation mode
# model = torch.nn.DataParallel(model)
                        type=int,
                        default=300,
                        help='used during inference')
    parser.add_argument('--resume', default='', help='resume from checkpoint')

    args = parser.parse_args()
    exp_name = (args.resume).split("/")[-2]
    out_dir = os.path.join('../jsons', args.dataset, exp_name)
    utils.mkdir(out_dir)

    root = '../../../../datasets/coco/images'
    if args.dataset == 'lvis':
        annotations = "../../../../datasets/coco/annotations/lvis_v1_val.json"
        dset = LVISDetection(root,
                             annotations,
                             transforms=transforms.ToTensor())
        num_classes = 1204
    elif args.dataset == 'coco':
        annotations = "../../../../datasets/coco/annotations/instances_val2017.json"
        dset = CocoDetection(root,
                             annotations,
                             transforms=transforms.ToTensor())
        num_classes = 91
    else:
        sys.exit("Dataset not recognisable")

    if args.model == 'fasterrcnn_resnet50_fpn':
        model = frcnn.fasterrcnn_resnet50_fpn(
            pretrained=False,
            num_classes=num_classes,
            box_score_thresh=float(args.confidence_threshold),