You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
File "C:\Users\Kioch\anaconda3\envs\ptcgar\Lib\site-packages\mmrotate\core\post_processing\bbox_nms_rotated.py", line 62, in multiclass_nms_rotated
bboxes, scores, labels = bboxes[inds], scores[inds], labels[inds]
~~~~^^^
RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)
Additional information
Is it a normal behavior for my setup? Am I doing something wrong?
I already find the problem. For me the labels variable created line 42 in the file mmrotate/mmrotate/core/post_processing
/bbox_nms_rotated.py is created always on the CPU and in the case where we want to use the GPU for our model the code will crash because at line 58 it tries to use variables that are not on the same device.
A fix that I found is to replace line 42 by: if bboxes.get_device() == -1: device = 'cpu' else: device = bboxes.get_device() labels = torch.arange(num_classes, dtype=torch.long).to(device)
The text was updated successfully, but these errors were encountered:
Prerequisite
Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
master branch https://github.com/open-mmlab/mmrotate
Environment
sys.platform: win32
Python: 3.11.8 | packaged by Anaconda, Inc. | (main, Feb 26 2024, 21:34:05) [MSC v.1916 64 bit (AMD64)]
CUDA available: True
GPU 0: NVIDIA GeForce RTX 2060 SUPER
CUDA_HOME: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
NVCC: Cuda compilation tools, release 11.8, V11.8.89
MSVC: Compilateur d'optimisation Microsoft (R) C/C++ version 19.35.32217.1 pour x64
GCC: n/a
PyTorch: 2.0.0+cu118
PyTorch compiling details: PyTorch built with:
TorchVision: 0.15.1+cu118
OpenCV: 4.9.0
MMCV: 1.7.2
MMCV Compiler: MSVC 192930148
MMCV CUDA Compiler: 11.8
MMRotate: 0.3.4+e384050
Reproduces the problem - code sample
nothing
Reproduces the problem - command or script
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --eval mAP
Reproduces the problem - error message
File "C:\Users\Kioch\anaconda3\envs\ptcgar\Lib\site-packages\mmrotate\core\post_processing\bbox_nms_rotated.py", line 62, in multiclass_nms_rotated
bboxes, scores, labels = bboxes[inds], scores[inds], labels[inds]
~~~~^^^
RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)
Additional information
Is it a normal behavior for my setup? Am I doing something wrong?
I already find the problem. For me the labels variable created line 42 in the file mmrotate/mmrotate/core/post_processing
/bbox_nms_rotated.py is created always on the CPU and in the case where we want to use the GPU for our model the code will crash because at line 58 it tries to use variables that are not on the same device.
A fix that I found is to replace line 42 by:
if bboxes.get_device() == -1: device = 'cpu' else: device = bboxes.get_device() labels = torch.arange(num_classes, dtype=torch.long).to(device)
The text was updated successfully, but these errors were encountered: