Hi, I want to train DRRG model based on ICdar17, I copied the config file in MASK-RCNN and modified '... /... /base/det_datasets/ctw1500.py in the drrg_r50_fpn_unet_1200e_ctw1500.py', and added the corresponding enhancement method in drrg_pipeline.py, but there is still an error, what should I do if I want to train the DRRG model based on ICdar17 correctly?
Hi, could you provide the training log so we can further explore the issue.
Traceback (most recent call last):
File "tools/train.py", line 230, in
main()
File "tools/train.py", line 219, in main
train_detector(
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmocr/apis/train.py", line 155, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 130, in run
epoch_runner(data_loaders[i], **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 51, in train
self.run_iter(data_batch, train_mode=True, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 29, in run_iter
outputs = self.model.train_step(data_batch, self.optimizer,
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmcv/parallel/data_parallel.py", line 75, in train_step
return self.module.train_step(*inputs[0], **kwargs[0])
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmdet/models/detectors/base.py", line 248, in train_step
losses = self(**data)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return old_func(*args, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmdet/models/detectors/base.py", line 172, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmocr/models/textdet/detectors/drrg.py", line 45, in forward_train
losses = self.bbox_head.loss(preds, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmocr/models/textdet/dense_heads/head_mixin.py", line 89, in loss
losses = self.loss_module(pred_maps, self.downsample_ratio, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmocr/models/textdet/losses/drrg_loss.py", line 190, in forward
loss_text = self.balance_bce_loss(
File "/Anaconda/anaconda3/envs/metacv/lib/python3.8/site-packages/mmocr/models/textdet/losses/drrg_loss.py", line 39, in balance_bce_loss
assert torch.all(pred >= 0) and torch.all(pred <= 1)
AssertionError
icdar 2017 contains some invalid polygons which needed to be filtered for training to proceed. We will look into this issue if time permitted, and welcome to post any insights here before a promising solution comes out :)