Skip to content

About the instance segmentation usage of 'large_image_demo.py'. Bug:AssertionError: binary_marks must have the same shape with image #10918

@W-hary

Description

@W-hary

Thanks for your error report and we appreciate it a lot.

Checklist

  1. I have searched related issues but cannot get the expected help.
  2. I have read the FAQ documentation but cannot get the expected help.
  3. The bug has not been fixed in the latest version.

Describe the bug
AssertionError: binary_marks must have the same shape with image

Reproduction

python demo/large_image_demo.py demo/large_image.jpg rtmdet-ins_tiny_8xb32-300e_coco.py rtmdet-ins_tiny_8xb32-300e_coco_20221130_151727-ec670f7e.pth --device cpu

A placeholder for the command.
  1. Did you make any modifications on the code or config? Did you understand what you have modified?
    No modifications have been made
  2. What dataset did you use?
    COCO

Environment

  1. Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.

sys.platform: linux
Python: 3.8.10 (default, Jun 4 2021, 15:09:15) [GCC 7.5.0]
CUDA available: True
numpy_random_seed: 2147483648
GPU 0: NVIDIA RTX A5000
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.3, V11.3.109
GCC: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
PyTorch: 1.11.0+cu113
PyTorch compiling details: PyTorch built with:

  • GCC 7.3
  • C++ Version: 201402
  • Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications
  • Intel(R) MKL-DNN v2.5.2 (Git Hash a9302535553c73243c632ad3c4c80beec3d19a1e)
  • OpenMP 201511 (a.k.a. OpenMP 4.5)
  • LAPACK is enabled (usually provided by MKL)
  • NNPACK is enabled
  • CPU capability usage: AVX2
  • CUDA Runtime 11.3
  • NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86
  • CuDNN 8.2
  • Magma 2.5.2
  • Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.3, CUDNN_VERSION=8.2.0, CXX_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/c++, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.11.0, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=OFF, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.12.0+cu113
OpenCV: 4.8.0
MMEngine: 0.8.4
MMDetection: 3.1.0+769c810

  1. You may add addition that may be helpful for locating the problem
    I completely follow the official recommended method to install mmdet_ Dev-3.1.0

Error traceback
I ran the following command on 'demo/large_image' and an error occurred:
’python demo/large_image_demo.py demo/large_image.jpg rtmdet-ins_tiny_8xb32-300e_coco.py rtmdet-ins_tiny_8xb32-300e_coco_20221130_151727-ec670f7e.pth --device cpu‘

Loads checkpoint by local backend from path: rtmdet-ins_tiny_8xb32-300e_coco_20221130_151727-ec670f7e.pth
/root/miniconda3/lib/python3.8/site-packages/mmengine/visualization/visualizer.py:196: UserWarning: Failed to add <class 'mmengine.visualization.vis_backend.LocalVisBackend'>, please provide the save_dir argument.
warnings.warn(f'Failed to add {vis_backend.class}, '
Performing inference on 1 images.... This may take a while.
[ ] 0/1, elapsed: 0s, ETA:/root/miniconda3/lib/python3.8/site-packages/torch/functional.py:568: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2228.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
/root/autodl-tmp/mmdetection/mmdet/visualization/palette.py:90: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
scales = 0.5 + (areas - min_area) // (max_area - min_area)
Traceback (most recent call last):
File "demo/large_image_demo.py", line 282, in
main()
File "demo/large_image_demo.py", line 264, in main
visualizer.add_datasample(
File "/root/miniconda3/lib/python3.8/site-packages/mmengine/dist/utils.py", line 401, in wrapper
return func(*args, **kwargs)
File "/root/autodl-tmp/mmdetection/mmdet/visualization/local_visualizer.py", line 468, in add_datasample
pred_img_data = self._draw_instances(image, pred_instances,
File "/root/autodl-tmp/mmdetection/mmdet/visualization/local_visualizer.py", line 194, in _draw_instances
self.draw_binary_masks(masks, colors=colors, alphas=self.alpha)
File "/root/miniconda3/lib/python3.8/site-packages/mmengine/dist/utils.py", line 401, in wrapper
return func(*args, **kwargs)
File "/root/miniconda3/lib/python3.8/site-packages/mmengine/visualization/visualizer.py", line 881, in draw_binary_masks
assert img.shape[:2] == binary_masks.shape[
AssertionError: binary_marks must have the same shape with image

Whether ‘demo/large_image_demo.py’ can be used for instance splitting tasks?
how can i solve?
56012e3de860d122b8fb79818f3389e

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions