ChenhongyiYang / QueryDet-PyTorch

[CVPR 2022 Oral] QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection
MIT License
423 stars 46 forks source link

shape_ten[i] == shape[i] assert faild. error shape [9, 17016] expect [768, -1] #26

Closed gangchen53 closed 2 years ago

gangchen53 commented 2 years ago

I'm glad you did such a good job and opened the source code. I am very interested in your work and have spent a lot of time reproducing your paper. I get an error when I execute the following statement:

python infer_coco.py --config-file models/querydet/configs/coco/test.yaml --num-gpu 8 --eval-only MODEL.WEIGHTS /path/to/workdir/model_final.pth MODEL.QUERY.QUERY_INFER True I don't know why this error is reported, and I try to debug it, but I still can't solve the error.

The specific error message is as follows: Traceback (most recent call last): File "infer_visdrone.py", line 18, in launch( File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/detectron2/engine/launch.py", line 82, in launch main_func(args) File "/home/pc/chengang/object_detection/QueryDet-PyTorch/train_tools/visdrone_infer.py", line 168, in start_train res = Trainer.test(cfg, model) File "/home/pc/chengang/object_detection/QueryDet-PyTorch/train_tools/visdrone_infer.py", line 74, in test result = inference_on_dataset(model, data_loader, evaluator) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/detectron2/evaluation/evaluator.py", line 158, in inference_on_dataset outputs = model(inputs) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(input, kwargs) File "/home/pc/chengang/object_detection/QueryDet-PyTorch/models/querydet/detector.py", line 168, in forward return self.test(batched_inputs) File "/home/pc/chengang/object_detection/QueryDet-PyTorch/models/querydet/detector.py", line 211, in test results, total_time = self.test_forward(images) # normal test File "/home/pc/chengang/object_detection/QueryDet-PyTorch/models/querydet/detector.py", line 258, in test_forward det_cls_query, det_bbox_query, query_anchors = self.qInfer.run_qinfer(params, features_key, features_value, File "/home/pc/chengang/object_detection/QueryDet-PyTorch/models/querydet/qinfer.py", line 183, in run_qinfer cls_result = self._run_spconvs(x, self.cls_spconv).view(-1, self.anchor_num self.num_classes)[inds] File "/home/pc/chengang/object_detection/QueryDet-PyTorch/models/querydet/qinfer.py", line 141, in _run_spconvs y = filters(x) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(input, kwargs) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/pytorch/modules.py", line 137, in forward input = module(input) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl return forward_call(*input, *kwargs) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/pytorch/conv.py", line 441, in forward out_features = Fsp.implicit_gemm( File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/torch/cuda/amp/autocast_mode.py", line 94, in decorate_fwd return fwd(args, **kwargs) File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/pytorch/functional.py", line 200, in forward raise e File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/pytorch/functional.py", line 185, in forward out, mask_out, mask_width = ops.implicit_gemm(features, filters, File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/pytorch/ops.py", line 1100, in implicit_gemm tuneres, = CONV.tune_and_cache( File "/home/pc/miniconda3/envs/detectron2/lib/python3.8/site-packages/spconv/algo.py", line 660, in tune_and_cache ConvMainUnitTest.implicit_gemm2(params) ValueError: /tmp/pip-build-env-r1c_rjmt/overlay/lib/python3.8/site-packages/cumm/include/tensorview/check.h(32) shape_ten[i] == shape[i] assert faild. error shape [9, 17016] expect [768, -1]

ChenhongyiYang commented 2 years ago

Hi. It seems the problem was caused by the sparse convolution part. We used the third-party implementation spconv, so you may contact the author to check the problem.