diff --git a/common/research/common/image_pipeline_evaluation/image_pipeline_evaluator.py b/common/research/common/image_pipeline_evaluation/image_pipeline_evaluator.py
index a0293793ed1011a1f27038e3e607c313bb0db64c..cb4797af38eb3ef496ebc07ce5b9447d936de73b 100644
--- a/common/research/common/image_pipeline_evaluation/image_pipeline_evaluator.py
+++ b/common/research/common/image_pipeline_evaluation/image_pipeline_evaluator.py
@@ -11,7 +11,7 @@ from polystar.common.models.image import Image, load_images
 from research.common.datasets.roco.directory_roco_dataset import \
     DirectoryROCODataset
 from research.robots_at_robots.dataset.armor_value_dataset import \
-    ArmorValueDatasetGenerator
+    ArmorValueDatasetCache
 from sklearn.metrics import classification_report, confusion_matrix
 
 
@@ -50,16 +50,16 @@ class ImagePipelineEvaluator:
         self,
         train_roco_datasets: List[DirectoryROCODataset],
         test_roco_datasets: List[DirectoryROCODataset],
-        image_dataset_generator: ArmorValueDatasetGenerator,
+        image_dataset_cache: ArmorValueDatasetCache,
     ):
         logging.info("Loading data")
         self.train_roco_datasets = train_roco_datasets
         self.test_roco_datasets = test_roco_datasets
         (self.train_images_paths, self.train_images, self.train_labels, self.train_dataset_sizes) = load_datasets(
-            train_roco_datasets, image_dataset_generator
+            train_roco_datasets, image_dataset_cache
         )
         (self.test_images_paths, self.test_images, self.test_labels, self.test_dataset_sizes) = load_datasets(
-            test_roco_datasets, image_dataset_generator
+            test_roco_datasets, image_dataset_cache
         )
 
     def evaluate_pipelines(self, pipelines: Iterable[ImagePipeline]) -> Dict[str, ClassificationResults]:
@@ -86,9 +86,9 @@ class ImagePipelineEvaluator:
 
 
 def load_datasets(
-    roco_datasets: List[DirectoryROCODataset], image_dataset_generator: ArmorValueDatasetGenerator,
+    roco_datasets: List[DirectoryROCODataset], image_dataset_cache: ArmorValueDatasetCache,
 ) -> Tuple[List[Path], List[Image], List[Any], List[int]]:
-    dataset = image_dataset_generator.from_roco_datasets(roco_datasets)
+    dataset = image_dataset_cache.from_roco_datasets(roco_datasets)
     dataset_sizes = [len(d) for d in dataset.datasets]
 
     paths, targets = list(dataset.examples), list(dataset.targets)
diff --git a/robots-at-robots/research/robots_at_robots/armor_color/armor_color_dataset.py b/robots-at-robots/research/robots_at_robots/armor_color/armor_color_dataset.py
index 1dc6b232a63db94869841db1587f80b0ec4fc2a9..c69b65d4293fbfbe0b058b79d16a049fe7da28a9 100644
--- a/robots-at-robots/research/robots_at_robots/armor_color/armor_color_dataset.py
+++ b/robots-at-robots/research/robots_at_robots/armor_color/armor_color_dataset.py
@@ -7,7 +7,7 @@ from research.common.datasets.dataset import Dataset
 from research.common.datasets.image_dataset import open_file_dataset
 from research.common.datasets.roco.zoo.roco_datasets_zoo import ROCODatasetsZoo
 from research.robots_at_robots.dataset.armor_value_dataset import (
-    ArmorValueDatasetGenerator, ArmorValueDirectoryDataset)
+    ArmorValueDatasetCache, ArmorValueDirectoryDataset)
 
 
 class ArmorColorDirectoryDataset(ArmorValueDirectoryDataset[str]):
@@ -16,7 +16,7 @@ class ArmorColorDirectoryDataset(ArmorValueDirectoryDataset[str]):
         return label
 
 
-class ArmorColorDatasetGenerator(ArmorValueDatasetGenerator[str]):
+class ArmorColorDatasetCache(ArmorValueDatasetCache[str]):
     def __init__(self):
         super().__init__("colors")
 
@@ -28,7 +28,7 @@ class ArmorColorDatasetGenerator(ArmorValueDatasetGenerator[str]):
 
 
 if __name__ == "__main__":
-    _dataset = open_file_dataset(ArmorColorDatasetGenerator().from_roco_dataset(ROCODatasetsZoo.TWITCH.T470150052))
+    _dataset = open_file_dataset(ArmorColorDatasetCache().from_roco_dataset(ROCODatasetsZoo.TWITCH.T470150052))
 
     for _image, _value, _name in islice(_dataset, 40, 50):
         print(_value)
diff --git a/robots-at-robots/research/robots_at_robots/armor_color/armor_color_pipeline_reporter_factory.py b/robots-at-robots/research/robots_at_robots/armor_color/armor_color_pipeline_reporter_factory.py
index 4b790de2eeaea7dde40b8944f1f13eb5655e3171..5797027173dac2d5ced3b1b3a0f45a936843b36e 100644
--- a/robots-at-robots/research/robots_at_robots/armor_color/armor_color_pipeline_reporter_factory.py
+++ b/robots-at-robots/research/robots_at_robots/armor_color/armor_color_pipeline_reporter_factory.py
@@ -6,7 +6,7 @@ from research.common.image_pipeline_evaluation.image_pipeline_evaluation_reporte
 from research.common.image_pipeline_evaluation.image_pipeline_evaluator import \
     ImagePipelineEvaluator
 from research.robots_at_robots.armor_color.armor_color_dataset import \
-    ArmorColorDatasetGenerator
+    ArmorColorDatasetCache
 
 
 class ArmorColorPipelineReporterFactory:
@@ -18,7 +18,7 @@ class ArmorColorPipelineReporterFactory:
             evaluator=ImagePipelineEvaluator(
                 train_roco_datasets=train_roco_datasets,
                 test_roco_datasets=test_roco_datasets,
-                image_dataset_generator=ArmorColorDatasetGenerator(),
+                image_dataset_cache=ArmorColorDatasetCache(),
             ),
             evaluation_project="armor-color",
         )
diff --git a/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_dataset.py b/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_dataset.py
index da331fdad50ef4cbfaf8257fadebad9a4195b09f..4b71926bd7d6ad32f19ffd2e0f268682cdf82b8d 100644
--- a/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_dataset.py
+++ b/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_dataset.py
@@ -10,7 +10,7 @@ from research.common.datasets.filtered_dataset import FilteredTargetsDataset
 from research.common.datasets.image_dataset import open_file_dataset
 from research.common.datasets.roco.zoo.roco_datasets_zoo import ROCODatasetsZoo
 from research.robots_at_robots.dataset.armor_value_dataset import (
-    ArmorValueDatasetGenerator, ArmorValueDirectoryDataset)
+    ArmorValueDatasetCache, ArmorValueDirectoryDataset)
 
 
 class ArmorDigitDirectoryDataset(ArmorValueDirectoryDataset[int]):
@@ -19,7 +19,7 @@ class ArmorDigitDirectoryDataset(ArmorValueDirectoryDataset[int]):
         return int(label)
 
 
-class ArmorDigitDatasetGenerator(ArmorValueDatasetGenerator[str]):
+class ArmorDigitDatasetCache(ArmorValueDatasetCache[str]):
     def __init__(self, acceptable_digits: Iterable[int]):
         super().__init__("digits")
         self.acceptable_digits = acceptable_digits
@@ -34,7 +34,7 @@ class ArmorDigitDatasetGenerator(ArmorValueDatasetGenerator[str]):
 
 if __name__ == "__main__":
     _dataset = open_file_dataset(
-        ArmorDigitDatasetGenerator((1, 2, 3, 4, 5, 7)).from_roco_dataset(ROCODatasetsZoo.TWITCH.T470150052)
+        ArmorDigitDatasetCache((1, 2, 3, 4, 5, 7)).from_roco_dataset(ROCODatasetsZoo.TWITCH.T470150052)
     )
 
     for _image, _value, _name in islice(_dataset, 40, 50):
diff --git a/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_pipeline_reporter_factory.py b/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_pipeline_reporter_factory.py
index 9aa086e8768bb665179b084bec949cc40d34e593..6befbd21cc7dd05f58ecd23bab8953298b7ea172 100644
--- a/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_pipeline_reporter_factory.py
+++ b/robots-at-robots/research/robots_at_robots/armor_digit/armor_digit_pipeline_reporter_factory.py
@@ -7,7 +7,7 @@ from research.common.image_pipeline_evaluation.image_pipeline_evaluation_reporte
 from research.common.image_pipeline_evaluation.image_pipeline_evaluator import \
     ImagePipelineEvaluator
 from research.robots_at_robots.armor_digit.armor_digit_dataset import \
-    ArmorDigitDatasetGenerator
+    ArmorDigitDatasetCache
 
 
 class ArmorDigitPipelineReporterFactory:
@@ -21,7 +21,7 @@ class ArmorDigitPipelineReporterFactory:
             evaluator=ImagePipelineEvaluator(
                 train_roco_datasets=train_roco_datasets,
                 test_roco_datasets=test_roco_datasets,
-                image_dataset_generator=ArmorDigitDatasetGenerator(acceptable_digits),
+                image_dataset_cache=ArmorDigitDatasetCache(acceptable_digits),
             ),
             evaluation_project="armor-digit",
         )
diff --git a/robots-at-robots/research/robots_at_robots/dataset/armor_value_dataset.py b/robots-at-robots/research/robots_at_robots/dataset/armor_value_dataset.py
index c556ff04935017ded74cfdc0245a6fa74b80d710..2f36227d21ad7f3d732fefa5f2788d4d1ecaf7dc 100644
--- a/robots-at-robots/research/robots_at_robots/dataset/armor_value_dataset.py
+++ b/robots-at-robots/research/robots_at_robots/dataset/armor_value_dataset.py
@@ -11,11 +11,9 @@ from polystar.common.utils.time import create_time_id
 from polystar.common.utils.tqdm import smart_tqdm
 from research.common.datasets.dataset import Dataset
 from research.common.datasets.image_dataset import ImageDirectoryDataset
-from research.common.datasets.roco.directory_roco_dataset import \
-    DirectoryROCODataset
+from research.common.datasets.roco.directory_roco_dataset import DirectoryROCODataset
 from research.common.datasets.union_dataset import UnionDataset
-from research.robots_at_robots.dataset.armor_dataset_factory import \
-    ArmorDatasetFactory
+from research.robots_at_robots.dataset.armor_dataset_factory import ArmorDatasetFactory
 
 ValueT = TypeVar("ValueT")
 
@@ -35,7 +33,7 @@ class WrongVersionException(Exception):
     expected: str
 
 
-class ArmorValueDatasetGenerator(Generic[ValueT], ABC):
+class ArmorValueDatasetCache(Generic[ValueT], ABC):
     VERSION: ClassVar[str] = "2.0"
 
     def __init__(self, task_name: str):