Skip to content

Commit 7254f53

Browse files
authored
[Fix] Fix SegTTAModel with no attribute '_gt_sem_seg' error (#3152)
## Motivation When using the - tta command for multi-scale prediction, and the test set is not annotated, although format_only has been set true in test_evaluator, but SegTTAModel class still threw error 'AttributeError: 'SegDataSample' object has no attribute '_gt_sem_seg''. ## Modification The reason is SegTTAModel didn't determine if there were annotations in the dataset, so I added the code to make the judgment and let the program run normally on my computer.
1 parent 067a95e commit 7254f53

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

mmseg/models/segmentors/seg_tta.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from mmengine.structures import PixelData
77

88
from mmseg.registry import MODELS
9-
from mmseg.structures import SegDataSample
109
from mmseg.utils import SampleList
1110

1211

@@ -39,11 +38,10 @@ def merge_preds(self, data_samples_list: List[SampleList]) -> SampleList:
3938
).to(logits).squeeze(1)
4039
else:
4140
seg_pred = logits.argmax(dim=0)
42-
data_sample = SegDataSample(
43-
**{
44-
'pred_sem_seg': PixelData(data=seg_pred),
45-
'gt_sem_seg': data_samples[0].gt_sem_seg
46-
})
41+
data_sample.set_data({'pred_sem_seg': PixelData(data=seg_pred)})
42+
if hasattr(data_samples[0], 'gt_sem_seg'):
43+
data_sample.set_data(
44+
{'gt_sem_seg': data_samples[0].gt_sem_seg})
4745
data_sample.set_metainfo({'img_path': data_samples[0].img_path})
4846
predictions.append(data_sample)
4947
return predictions

0 commit comments

Comments
 (0)