2020-11-23 16:43:28,481 - mmdet - INFO - workflow: [('train', 1)], max: 12 epochs
Traceback (most recent call last):
File "train.py", line 133, in
main()
File "train.py", line 129, in main
meta=meta)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/apis/train.py", line 104, in train_detector
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 124, in run
epoch_runner(data_loaders[i], kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 48, in train
self.run_iter(data_batch, train_mode=True)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 28, in run_iter
kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/parallel/data_parallel.py", line 69, in train_step
return self.module.train_step(inputs[0], kwargs[0]) # 然后调用model自己的train_step方法
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/base.py", line 204, in train_step
losses = self(data)
File "/home/danny/anaconda3/envs/mmdetetion-mini/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(input, kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/base.py", line 138, in forward
return self.forward_train(img, img_metas, kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/single_stage.py", line 95, in forward_train
gt_labels, gt_bboxes_ignore, *kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/dense_heads/base_dense_head.py", line 54, in forward_train
losses = self.loss(loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/dense_heads/fcos_head.py", line 207, in loss
img = img_meta['img'].data.numpy()
KeyError: 'img'
2020-11-23 16:43:28,481 - mmdet - INFO - workflow: [('train', 1)], max: 12 epochs Traceback (most recent call last): File "train.py", line 133, in
main()
File "train.py", line 129, in main
meta=meta)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/apis/train.py", line 104, in train_detector
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 124, in run
epoch_runner(data_loaders[i], kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 48, in train
self.run_iter(data_batch, train_mode=True)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/runner/epoch_based_runner.py", line 28, in run_iter
kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/cv_core/parallel/data_parallel.py", line 69, in train_step
return self.module.train_step(inputs[0], kwargs[0]) # 然后调用model自己的train_step方法
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/base.py", line 204, in train_step
losses = self(data)
File "/home/danny/anaconda3/envs/mmdetetion-mini/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in call
result = self.forward(input, kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/base.py", line 138, in forward
return self.forward_train(img, img_metas, kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/detectors/single_stage.py", line 95, in forward_train
gt_labels, gt_bboxes_ignore, *kwargs)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/dense_heads/base_dense_head.py", line 54, in forward_train
losses = self.loss(loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
File "/home/danny/Lab/mmdetection-mini/tools/../mmdet/models/dense_heads/fcos_head.py", line 207, in loss
img = img_meta['img'].data.numpy()
KeyError: 'img'
使用voc轉成coco來訓練,config多修改成以下 train_cfg = dict( # 在fcos里面是不需要的 assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.5, neg_iou_thr=0.4, min_pos_iou=0, ignore_iof_thr=-1), allowed_border=-1, pos_weight=-1, debug=True)
如果debug=False是可以訓練