예제 #1
0
    # net = st_resnet.resnet_st_seg01.resnet50(pretrained=False, num_classes=args.num_classes)
    # net.load_state_dict(torch.load(model_path), strict = True)

    args.batch_size = 1
    st_crf_layer = sec.sec_org_net.STCRFLayer(True)

    print(args)

    # if flag_use_cuda:
    #     net.cuda()

    dataloader = VOCData(args)

    max_iou = 0
    iou_obj = common_function.iou_calculator()

    num_train_batch = len(dataloader.dataloaders["train"])

    # net.train(False)
    with torch.no_grad():

        train_iou = 0
        eval_iou = 0
        counter = 0
        for data in dataloader.dataloaders["train"]:
            inputs, labels, mask_gt, img, cues = data
            # if flag_use_cuda:
            #     inputs = inputs.cuda(); labels = labels.cuda(); cues = cues.cuda()
            #
            # sm_mask = net(inputs)
예제 #2
0
print(args)
print(model_path)

if flag_use_cuda:
    net.cuda()

dataloader = multi_scale.voc_data_mul_scale_w_cues.VOCData(args)

optimizer = optim.Adam(net.parameters(),
                       lr=args.lr)  # L2 penalty: norm weight_decay=0.0001
# main_scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=args.step_size)
main_scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=3, gamma=0.5)

max_iou = 0
iou_obj_train = common_function.iou_calculator()
iou_obj_eval = common_function.iou_calculator()

num_train_batch = len(dataloader.dataloaders["train"])

weight_STBCE = 0.1
weight_dec = 0.9
iter_counter = 0

for epoch in range(args.epochs):
    train_seed_loss = 0.0
    train_expand_loss = 0.0
    train_constraint_loss = 0.0
    train_st_BEC_loss = 0.0
    train_st_half_BCE_loss = 0.0