|
|
@@ -8,6 +8,7 @@ from cvdatasets.dataset.image import Size
|
|
|
|
|
|
from cvfinetune.finetuner.mixins.base import BaseMixin
|
|
|
|
|
|
+Opts = namedtuple("Opts", "data dataset parts feature_model")
|
|
|
|
|
|
class _DatasetMixin(BaseMixin):
|
|
|
"""
|
|
|
@@ -22,8 +23,10 @@ class _DatasetMixin(BaseMixin):
|
|
|
dataset_cls: T.Type,
|
|
|
dataset_kwargs_factory: T.Optional[T.Callable] = None,
|
|
|
|
|
|
+ parts: str = "GLOBAL",
|
|
|
label_shift: int = 0,
|
|
|
input_size: int = 224,
|
|
|
+ feature_model: str = None,
|
|
|
part_input_size: T.Optional[int] = None,
|
|
|
**kwargs):
|
|
|
|
|
|
@@ -31,6 +34,8 @@ class _DatasetMixin(BaseMixin):
|
|
|
self.annot = None
|
|
|
self.info_file = data
|
|
|
self.dataset_name = dataset
|
|
|
+ self.part_type = parts
|
|
|
+ self.feature_model = feature_model
|
|
|
self.dataset_cls = dataset_cls
|
|
|
self.dataset_kwargs_factory = dataset_kwargs_factory
|
|
|
|
|
|
@@ -46,8 +51,16 @@ class _DatasetMixin(BaseMixin):
|
|
|
|
|
|
|
|
|
def read_annotations(self):
|
|
|
- """Reads annotations and creates annotation instance, which holds important infos about the dataset"""
|
|
|
- opts = namedtuple("Opt", "data dataset")(self.info_file, self.dataset_name)
|
|
|
+ """
|
|
|
+ Reads annotations and creates annotation instance,
|
|
|
+ which holds important infos about the dataset
|
|
|
+ """
|
|
|
+ opts = Opts(
|
|
|
+ self.info_file,
|
|
|
+ self.dataset_name,
|
|
|
+ self.part_type,
|
|
|
+ self.feature_model
|
|
|
+ )
|
|
|
self.annot = AnnotationType.new_annotation(opts, load_strict=False)
|
|
|
self.dataset_cls.label_shift = self._label_shift
|
|
|
|