grimoire/mmdetection-to-tensorrt

unsupported operand type(s)

nvvnst opened this issue · 1 comments

I try to convert TridentNet to engine, but I have an error:

load checkpoint from local path: /home/ariel/mmdetection2/tridentnet/epoch_33.pth
can't find wrap module for type:<class 'mmdet.models.detectors.trident_faster_rcnn.TridentFasterRCNN'>, use <class 'mmdet2trt.models.detectors.two_stage.TwoStageDetectorWraper'> instead.
can't find wrap module for type:<class 'mmdet.models.backbones.trident_resnet.TridentResNet'>, use <class 'mmdet2trt.models.backbones.base_backbone.BaseBackboneWraper'> instead.
/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/mmdet/models/dense_heads/anchor_head.py:123: UserWarning: DeprecationWarning: anchor_generator is deprecated, please use "prior_generator" instead
warnings.warn('DeprecationWarning: anchor_generator is deprecated, '
can't find wrap module for type:<class 'mmdet.models.roi_heads.trident_roi_head.TridentRoIHead'>, use <class 'mmdet2trt.models.roi_heads.standard_roi_head.StandardRoIHeadWraper'> instead.
can't find wrap module for type:<class 'mmdet.models.roi_heads.bbox_heads.bbox_head.BBoxHead'>, use None instead.
[02/23/2022-16:32:58] [TRT] [I] [MemUsageChange] Init CUDA: CPU +174, GPU +0, now: CPU 1724, GPU 1158 (MiB)
[02/23/2022-16:32:58] [TRT] [I] [MemUsageSnapshot] Begin constructing builder kernel library: CPU 1724 MiB, GPU 1158 MiB
[02/23/2022-16:32:58] [TRT] [I] [MemUsageSnapshot] End constructing builder kernel library: CPU 1785 MiB, GPU 1158 MiB
Traceback (most recent call last):
File "convert.py", line 15, in
trt_model = mmdet2trt(cfg_path, weight_path, fp16_mode=True,device= 'cuda:0')#opt_shape_param=opt_shape_param,max_workspace_size=max_workspace_size
File "/home/ariel/mmdetection-to-tensorrt/mmdet2trt/mmdet2trt.py", line 151, in mmdet2trt
int8_calib_algorithm=int8_calib_algorithm)
File "/home/ariel/torch2trt_dynamic/torch2trt_dynamic/torch2trt_dynamic.py", line 527, in torch2trt_dynamic
outputs = module(*inputs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/mmdetection-to-tensorrt/mmdet2trt/models/detectors/two_stage.py", line 47, in forward
feat = self.extract_feat(x)
File "/home/ariel/mmdetection-to-tensorrt/mmdet2trt/models/detectors/two_stage.py", line 38, in extract_feat
x = self.backbone_wraper(img)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/mmdetection-to-tensorrt/mmdet2trt/models/backbones/base_backbone.py", line 22, in forward
return self.module(*args, **kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/mmdet/models/backbones/resnet.py", line 643, in forward
x = res_layer(x)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/container.py", line 141, in forward
input = module(input)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/mmdet/models/backbones/trident_resnet.py", line 174, in forward
out = _inner_forward(x)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/mmdet/models/backbones/trident_resnet.py", line 150, in _inner_forward
out = self.conv2(out)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/mmdet/models/backbones/trident_resnet.py", line 85, in forward
self.dilations[self.test_branch_idx])
File "/home/ariel/torch2trt_dynamic/torch2trt_dynamic/torch2trt_dynamic.py", line 319, in wrapper
converter'converter'
File "/home/ariel/torch2trt_dynamic/torch2trt_dynamic/converters/conv2d.py", line 30, in convert_conv2d
bias=need_bias)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 435, in init
False, _pair(0), groups, bias, padding_mode, **factory_kwargs)
File "/home/ariel/anaconda3/envs/mim/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 83, in init
if in_channels % groups != 0:
TypeError: unsupported operand type(s) for %: 'int' and 'NoneType

How can I fix it?

TridentNet has not been supported yet.