def prepare_training(self, output, batch):
     init = snake_gcn_utils.prepare_training(output, batch)
     output.update({
         'i_it_4py': init['i_it_4py'],
         'i_it_py': init['i_it_py']
     })
     output.update({
         'i_gt_4py': init['i_gt_4py'],
         'i_gt_py': init['i_gt_py']
     })
     return init
Esempio n. 2
0
    def prepare_training(self, output, batch):
        init = snake_gcn_utils.prepare_training(output, batch)
        if cfg.poly_cls_branch:
            spec_num = 80
            init['i_gt_py'] = torch.cat(
                (init['i_gt_py'][:spec_num], init['neg_i_gt_py'][:spec_num]),
                dim=0)
            init['c_gt_py'] = torch.cat(
                (init['c_gt_py'][:spec_num], init['neg_c_gt_py'][:spec_num]),
                dim=0)
            init['i_it_py'] = torch.cat(
                (init['i_it_py'][:spec_num], init['neg_i_it_py'][:spec_num]),
                dim=0)
            init['c_it_py'] = torch.cat(
                (init['c_it_py'][:spec_num], init['neg_c_it_py'][:spec_num]),
                dim=0)
            init['py_ind'] = torch.cat(
                (init['py_ind'][:spec_num], init['py_ind'][:spec_num]), dim=0)
            poly_num = len(init['i_gt_py'])
            poly_cls_labels = torch.ones(poly_num)
            poly_cls_labels[int(poly_num / 2):] = 0
            output.update({'poly_cls_labels': poly_cls_labels.cuda()})

            if 0:
                input_imgs = batch['inp'].detach().cpu().numpy()
                i_gt_py = init['i_gt_py'].detach().cpu().numpy()
                i_it_py = init['i_it_py'].detach().cpu().numpy()
                neg_i_gt_py = init['neg_i_gt_py'].detach().cpu().numpy()
                neg_i_it_py = init['neg_i_it_py'].detach().cpu().numpy()
                py_inds = init['py_ind'].detach().cpu().numpy()

                np.save('input_imgs.npy', input_imgs)
                np.save('i_gt_py.npy', i_gt_py)
                np.save('i_it_py.npy', i_it_py)
                np.save('neg_i_gt_py.npy', neg_i_gt_py)
                np.save('neg_i_it_py.npy', neg_i_it_py)
                np.save('py_inds.npy', py_inds)
                print('saving training data done!')
                exit()

        output.update({
            'i_it_4py': init['i_it_4py'],
            'i_it_py': init['i_it_py']
        })
        output.update({
            'i_gt_4py': init['i_gt_4py'],
            'i_gt_py': init['i_gt_py']
        })
        return init