mmocr icon indicating copy to clipboard operation
mmocr copied to clipboard

About to train the DRRG model based on ICdar17 correctly?

Open htaoruan opened this issue 2 years ago • 3 comments

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?

htaoruan avatar Sep 19 '22 08:09 htaoruan

Hi, could you provide the training log so we can further explore the issue.

xinke-wang avatar Sep 19 '22 09:09 xinke-wang

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

htaoruan avatar Sep 19 '22 09:09 htaoruan

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 :)

gaotongxiao avatar Sep 20 '22 06:09 gaotongxiao