Respostas no Fórum

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • em resposta a: Como usar o PointRend em um modelo personalizado #35117

    Gratidão professor! Consegui resolver, atualizou a versão do projeto PointRend do Detectron2 e funcionou perfeitamente.
    Muito obrigado!

    em resposta a: Como usar o PointRend em um modelo personalizado #34999

    Consegui evoluir bastante em treinar um modelo com PointRend personalizado, mas cheguei em um ponto onde estou enfrentando muita dificuldade para resolver. Consegue me ajudar?

    Esse é o código de erro gerado no momento do treinamento:

    <hr />

    RuntimeError Traceback (most recent call last)
    ~\AppData\Local\Temp\ipykernel_14980\4032920361.py in <module>
    —-> 1 trainer.train()

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\engine\defaults.py in train(self)
    482 OrderedDict of results, if evaluation is enabled. Otherwise None.
    483 “””
    –> 484 super().train(self.start_iter, self.max_iter)
    485 if len(self.cfg.TEST.EXPECTED_RESULTS) and comm.is_main_process():
    486 assert hasattr(

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\engine\train_loop.py in train(self, start_iter, max_iter)
    147 for self.iter in range(start_iter, max_iter):
    148 self.before_step()
    –> 149 self.run_step()
    150 self.after_step()
    151 # self.iter == max_iter can be used by after_train to

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\engine\defaults.py in run_step(self)
    492 def run_step(self):
    493 self._trainer.iter = self.iter
    –> 494 self._trainer.run_step()
    495
    496 def state_dict(self):

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\engine\train_loop.py in run_step(self)
    271 If you want to do something with the losses, you can wrap the model.
    272 “””
    –> 273 loss_dict = self.model(data)
    274 if isinstance(loss_dict, torch.Tensor):
    275 losses = loss_dict

    ~\.conda\envs\detectron2\lib\site-packages\torch\nn\modules\module.py in _call_impl(self, *input, **kwargs)
    887 result = self._slow_forward(*input, **kwargs)
    888 else:
    –> 889 result = self.forward(*input, **kwargs)
    890 for hook in itertools.chain(
    891 _global_forward_hooks.values(),

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\modeling\meta_arch\rcnn.py in forward(self, batched_inputs)
    165 proposal_losses = {}
    166
    –> 167 _, detector_losses = self.roi_heads(images, features, proposals, gt_instances)
    168 if self.vis_period > 0:
    169 storage = get_event_storage()

    ~\.conda\envs\detectron2\lib\site-packages\torch\nn\modules\module.py in _call_impl(self, *input, **kwargs)
    887 result = self._slow_forward(*input, **kwargs)
    888 else:
    –> 889 result = self.forward(*input, **kwargs)
    890 for hook in itertools.chain(
    891 _global_forward_hooks.values(),

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\modeling\roi_heads\roi_heads.py in forward(***failed resolving arguments***)
    741 # heads. But when self.train_on_pred_boxes is True, proposals will contain boxes
    742 # predicted by the box head.
    –> 743 losses.update(self._forward_mask(features, proposals))
    744 losses.update(self._forward_keypoint(features, proposals))
    745 return proposals, losses

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\modeling\roi_heads\roi_heads.py in _forward_mask(self, features, instances)
    844 else:
    845 features = {f: features[f] for f in self.mask_in_features}
    –> 846 return self.mask_head(features, instances)
    847
    848 def _forward_keypoint(self, features: Dict[str, torch.Tensor], instances: List[Instances]):

    ~\.conda\envs\detectron2\lib\site-packages\torch\nn\modules\module.py in _call_impl(self, *input, **kwargs)
    887 result = self._slow_forward(*input, **kwargs)
    888 else:
    –> 889 result = self.forward(*input, **kwargs)
    890 for hook in itertools.chain(
    891 _global_forward_hooks.values(),

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\projects\point_rend\mask_head.py in forward(self, features, instances)
    236 point_fine_grained_features, point_coords, coarse_mask
    237 )
    –> 238 losses[“loss_mask_point”] = roi_mask_point_loss(point_logits, instances, point_labels)
    239 return losses
    240 else:

    C:\Data Science\Project\idtise.me\Modelagem\Modelo de segmentacao\Detectron 2 – PointRend\detectron2\projects\point_rend\point_head.py in roi_mask_point_loss(mask_logits, instances, points_coord)
    62 scale = torch.tensor([w, h], dtype=torch.float, device=gt_bit_masks.device)
    63 points_coord_grid_sample_format = (
    —> 64 points_coord[idx : idx + len(instances_per_image)] / scale
    65 )
    66 idx += len(instances_per_image)

    RuntimeError: The size of tensor a (196) must match the size of tensor b (2) at non-singleton dimension 1

Visualizando 2 posts - 1 até 2 (de 2 do total)