ReDet icon indicating copy to clipboard operation
ReDet copied to clipboard

Can I run ReDet by removing the ReFPN part

Open Sairam13001 opened this issue 2 years ago • 0 comments

Hai sir, I am trying to run some ablations for my project. I want to know if I can run ReDet by removing the neck (ReFPN) part completely.

I tried it by setting "self.with_neck = False". But that is giving the following error.

Traceback (most recent call last): File "tools/train.py", line 95, in main() File "tools/train.py", line 91, in main logger=logger) File "/home/ai20resch13001/ReDet-base/mmdet/apis/train.py", line 61, in train_detector _non_dist_train(model, dataset, cfg, validate=validate) File "/home/ai20resch13001/ReDet-base/mmdet/apis/train.py", line 197, in _non_dist_train runner.run(data_loaders, cfg.workflow, cfg.total_epochs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/mmcv/runner/runner.py", line 358, in run epoch_runner(data_loaders[i], **kwargs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/mmcv/runner/runner.py", line 264, in train self.model, data_batch, train_mode=True, **kwargs) File "/home/ai20resch13001/ReDet-base/mmdet/apis/train.py", line 39, in batch_processor losses = model(**data) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in call result = self.forward(*input, **kwargs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward outputs = self.parallel_apply(replicas, inputs, kwargs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply raise output File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/parallel/parallel_apply.py", line 59, in _worker output = module(*input, **kwargs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in call result = self.forward(*input, **kwargs) File "/home/ai20resch13001/ReDet-base/mmdet/models/detectors/base_new.py", line 95, in forward return self.forward_train(img, img_meta, **kwargs) File "/home/ai20resch13001/ReDet-base/mmdet/models/detectors/ReDet.py", line 149, in forward_train rpn_outs = self.rpn_head(x) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in call result = self.forward(*input, **kwargs) File "/home/ai20resch13001/ReDet-base/mmdet/models/anchor_heads/anchor_head.py", line 91, in forward return multi_apply(self.forward_single, feats) File "/home/ai20resch13001/ReDet-base/mmdet/core/utils/misc.py", line 24, in multi_apply return tuple(map(list, zip(*map_results))) File "/home/ai20resch13001/ReDet-base/mmdet/models/anchor_heads/rpn_head.py", line 31, in forward_single x = self.rpn_conv(x) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/modules/module.py", line 493, in call result = self.forward(*input, **kwargs) File "/DATA/ai20resch13001/anaconda3/envs/redet-base/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 338, in forward self.padding, self.dilation, self.groups) RuntimeError: Given groups=1, weight of size 256 256 3 3, expected input[2, 512, 128, 128] to have 256 channels, but got 512 channels instead

Kindly let me know what part of the code I have to change to run ReDet without ReFPN. Thank you!

Sairam13001 avatar Jul 06 '22 09:07 Sairam13001