Shortcuts

mmselfsup.structures.selfsup_data_sample 源代码

# Copyright (c) OpenMMLab. All rights reserved.
# TODO: will use real PixelData once it is added in mmengine
from mmengine.structures import BaseDataElement, InstanceData, LabelData


[文档]class SelfSupDataSample(BaseDataElement): """A data structure interface of MMSelfSup. They are used as interfaces between different components. Meta field: - ``img_shape`` (Tuple): The shape of the corresponding input image. Used for visualization. - ``ori_shape`` (Tuple): The original shape of the corresponding image. Used for visualization. - ``img_path`` (str): The path of original image. Data field: - ``gt_label`` (LabelData): The ground truth label of an image. - ``sample_idx`` (InstanceData): The idx of an image in the dataset. - ``mask`` (BaseDataElement): Mask used in masks image modeling. - ``pred_label`` (LabelData): The predicted label. - ``pseudo_label`` (InstanceData): Label used in pretext task, e.g. Relative Location. Examples: >>> import torch >>> import numpy as np >>> from mmengine.structure import InstanceData >>> from mmselfsup.structures import SelfSupDataSample >>> data_sample = SelfSupDataSample() >>> gt_label = LabelData() >>> gt_label.value = [1] >>> data_sample.gt_label = gt_label >>> len(data_sample.gt_label) 1 >>> print(data_sample) <SelfSupDataSample( META INFORMATION DATA FIELDS gt_label: <InstanceData( META INFORMATION DATA FIELDS value: [1] ) at 0x7f15c08f9d10> _gt_label: <InstanceData( META INFORMATION DATA FIELDS value: [1] ) at 0x7f15c08f9d10> ) at 0x7f15c077ef10> >>> idx = InstanceData() >>> idx.value = [0] >>> data_sample = SelfSupDataSample(idx=idx) >>> assert 'idx' in data_sample >>> data_sample = SelfSupDataSample() >>> mask = dict(value=np.random.rand(48, 48)) >>> mask = PixelData(**mask) >>> data_sample.mask = mask >>> assert 'mask' in data_sample >>> assert 'value' in data_sample.mask >>> data_sample = SelfSupDataSample() >>> pred_label = dict(pred_label=[3]) >>> pred_label = LabelData(**pred_label) >>> data_sample.pred_label = pred_label >>> print(data_sample) <SelfSupDataSample( META INFORMATION DATA FIELDS _pred_label: <InstanceData( META INFORMATION DATA FIELDS pred_label: [3] ) at 0x7f15c06a3990> pred_label: <InstanceData( META INFORMATION DATA FIELDS pred_label: [3] ) at 0x7f15c06a3990> ) at 0x7f15c07b8bd0> """ @property def gt_label(self) -> LabelData: 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 sample_idx(self) -> InstanceData: return self._sample_idx @sample_idx.setter def sample_idx(self, value: InstanceData): self.set_field(value, '_sample_idx', dtype=InstanceData) @sample_idx.deleter def sample_idx(self): del self._sample_idx @property def mask(self) -> BaseDataElement: return self._mask @mask.setter def mask(self, value: BaseDataElement): self.set_field(value, '_mask', dtype=BaseDataElement) @mask.deleter def mask(self): del self._mask @property def pred_label(self) -> LabelData: 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 @property def pseudo_label(self) -> BaseDataElement: return self._pseudo_label @pseudo_label.setter def pseudo_label(self, value: BaseDataElement): self.set_field(value, '_pseudo_label', dtype=BaseDataElement) @pseudo_label.deleter def pseudo_label(self): del self._pseudo_label
Read the Docs v: stable
Versions
latest
stable
1.x
dev-1.x
0.x
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.