From f254d599e1e96b2d85f28c4ca230544318510e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C5=BEenan=20Zuki=C4=87?= Date: Wed, 2 Apr 2025 13:02:57 -0400 Subject: [PATCH 1/2] Fix Windows crash: panoptic_fpn.py passing int32 instead of long Stack trace: [04/02 13:07:05 d2.data.build]: Distribution of instances among all 4 categories: | category | #instances | category | #instances | category | #instances | |:----------:|:-------------|:----------:|:-------------|:----------:|:-------------| | G | 25 | SG | 8 | T | 746 | | A | 58 | | | | | | total | 837 | | | | | [04/02 13:07:05 d2.data.common]: Serializing the dataset using: [04/02 13:07:05 d2.data.common]: Serializing 40 elements to byte tensors and concatenating them all ... [04/02 13:07:05 d2.data.common]: Serialized dataset takes 8.95 MiB check and see [04/02 13:07:05 d2.checkpoint.detection_checkpoint]: [DetectionCheckpointer] Loading from M:/Histo/Work/model_0214999.pth ... [04/02 13:07:05 d2.engine.train_loop]: Starting training from iteration 0 ERROR [04/02 13:07:42 d2.engine.train_loop]: Exception during training: Traceback (most recent call last): File "M:\Histo\.venv38\lib\site-packages\detectron2\engine\train_loop.py", line 155, in train self.run_step() File "M:\Histo\.venv38\lib\site-packages\detectron2\engine\defaults.py", line 530, in run_step self._trainer.run_step() File "M:\Histo\.venv38\lib\site-packages\detectron2\engine\train_loop.py", line 310, in run_step loss_dict = self.model(data) File "M:\Histo\.venv38\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "M:\Histo\.venv38\lib\site-packages\detectron2\modeling\meta_arch\panoptic_fpn.py", line 127, in forward sem_seg_results, sem_seg_losses = self.sem_seg_head(features, gt_sem_seg) File "M:\Histo\.venv38\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl return forward_call(*input, **kwargs) File "M:\Histo\.venv38\lib\site-packages\detectron2\modeling\meta_arch\semantic_seg.py", line 239, in forward return None, self.losses(x, targets) File "M:\Histo\.venv38\lib\site-packages\detectron2\modeling\meta_arch\semantic_seg.py", line 263, in losses loss = F.cross_entropy( File "M:\Histo\.venv38\lib\site-packages\torch\nn\functional.py", line 2846, in cross_entropy return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing) RuntimeError: expected scalar type Long but found Int --- detectron2/modeling/meta_arch/panoptic_fpn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/detectron2/modeling/meta_arch/panoptic_fpn.py b/detectron2/modeling/meta_arch/panoptic_fpn.py index b31e1c8dc0..772286a1bb 100644 --- a/detectron2/modeling/meta_arch/panoptic_fpn.py +++ b/detectron2/modeling/meta_arch/panoptic_fpn.py @@ -123,7 +123,7 @@ def forward(self, batched_inputs): self.backbone.size_divisibility, self.sem_seg_head.ignore_value, self.backbone.padding_constraints, - ).tensor + ).tensor.long() sem_seg_results, sem_seg_losses = self.sem_seg_head(features, gt_sem_seg) gt_instances = [x["instances"].to(self.device) for x in batched_inputs] From c0fe14c498bc7995755eb438e4b2fbb319af0f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C5=BEenan=20Zuki=C4=87?= Date: Wed, 2 Apr 2025 13:16:25 -0400 Subject: [PATCH 2/2] Shell scripts should be checked out with LF EOL markers even on Windows Addressing: (.venv38) M:\Histo\detectron2>bash dzenan@Ryzenator:/mnt/m/Histo/detectron2$ dev/linter.sh dev/linter.sh: line 3: $'\r': command not found --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..dfdb8b771c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.sh text eol=lf