mirror of
https://github.com/open-mmlab/mmpretrain.git
synced 2025-06-03 14:59:18 +08:00
Add property, setter and deleter.
This commit is contained in:
parent
4bf54066c9
commit
ce2b40133b
@ -113,11 +113,35 @@ class ClsDataSample(BaseDataElement):
|
||||
Number]) -> None:
|
||||
"""Set the gt_label data."""
|
||||
label = format_label(value, self.get('num_classes'))
|
||||
self.set_field(label, 'gt_label')
|
||||
self.gt_label = label
|
||||
|
||||
def set_pred_label(
|
||||
self, value: Union[np.ndarray, torch.Tensor, Sequence[Number],
|
||||
Number]) -> None:
|
||||
"""Set the pred_label data."""
|
||||
label = format_label(value, self.get('num_classes'))
|
||||
self.set_field(label, 'pred_label')
|
||||
self.pred_label = label
|
||||
|
||||
@property
|
||||
def gt_label(self):
|
||||
return self._gt_label
|
||||
|
||||
@gt_label.setter
|
||||
def gt_label(self, value: LabelData):
|
||||
self.set_field(value, '_gt_label', dtype=LabelData)
|
||||
|
||||
@gt_label.deleter
|
||||
def gt_label(self):
|
||||
del self._gt_label
|
||||
|
||||
@property
|
||||
def pred_label(self):
|
||||
return self._pred_label
|
||||
|
||||
@pred_label.setter
|
||||
def pred_label(self, value: LabelData):
|
||||
self.set_field(value, '_pred_label', dtype=LabelData)
|
||||
|
||||
@pred_label.deleter
|
||||
def pred_label(self):
|
||||
del self._pred_label
|
||||
|
@ -86,3 +86,19 @@ class TestClsDataSample(TestCase):
|
||||
|
||||
def test_set_pred_label(self):
|
||||
self._test_set_label('pred_label')
|
||||
|
||||
def test_del_gt_label(self):
|
||||
data_sample = ClsDataSample()
|
||||
self.assertNotIn('gt_label', data_sample)
|
||||
data_sample.set_gt_label(1)
|
||||
self.assertIn('gt_label', data_sample)
|
||||
del data_sample.gt_label
|
||||
self.assertNotIn('gt_label', data_sample)
|
||||
|
||||
def test_del_pred_label(self):
|
||||
data_sample = ClsDataSample()
|
||||
self.assertNotIn('pred_label', data_sample)
|
||||
data_sample.set_pred_label(1)
|
||||
self.assertIn('pred_label', data_sample)
|
||||
del data_sample.pred_label
|
||||
self.assertNotIn('pred_label', data_sample)
|
||||
|
Loading…
x
Reference in New Issue
Block a user