Skip to content

Commit

Permalink
- MultiModalAssumptionsBuilder refactoring [2]
Browse files Browse the repository at this point in the history
  • Loading branch information
andreygetmanov committed Jul 15, 2022
1 parent 7ddf0c0 commit 0adccc4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
18 changes: 8 additions & 10 deletions fedot/api/api_utils/assumptions/assumptions_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def __init__(self, data: Union[InputData, MultiModalData],
self.data_type = data_type or data.data_type
self.ops_filter = OperationsFilter()

def from_operations(self, available_operations: Optional[List[str]]):
def from_operations(self, available_operations: Optional[List[str]] = None):
if available_operations:
operations_for_task_and_data, _ = self.repo.suitable_operation(self.data.task.task_type, self.data_type)
operations_to_choose_from = set(operations_for_task_and_data).intersection(available_operations)
Expand Down Expand Up @@ -94,17 +94,15 @@ def __init__(self, data: MultiModalData, repository_name: str = "model"):
super().__init__(data, repository_name)
_subbuilders = []
for data_type, (data_source_name, values) in zip(self.data.data_type, self.data.items()):
# Performs specific filter on image data operations
if data_type is DataTypesEnum.image:
self.available_operations = ['data_source_img', 'cnn']
_subbuilders.append((data_source_name, UniModalAssumptionsBuilder(self.data, data_type)
.from_operations(self.available_operations)))
else:
_subbuilders.append((data_source_name, UniModalAssumptionsBuilder(self.data, data_type)))
_subbuilders.append((data_source_name, UniModalAssumptionsBuilder(self.data, data_type)))
self._subbuilders = tuple(_subbuilders)

def from_operations(self, available_operations: Optional[List[str]]):
self.available_operations = available_operations
def from_operations(self, available_operations: Optional[List[str]] = None):
for data_source, subbuilder in self._subbuilders:
# Performs specific filter on image data operations
if subbuilder.data_type is DataTypesEnum.image:
available_img_operations = ['data_source_img', 'cnn']
subbuilder.from_operations(available_img_operations)
return self

def to_builders(self, initial_node: Optional[Node] = None) -> List[PipelineBuilder]:
Expand Down
2 changes: 1 addition & 1 deletion fedot/api/api_utils/predefined_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def _get_pipeline(self):
pipelines = self.predefined_model
elif self.predefined_model == 'auto':
# Generate initial assumption automatically
pipelines = AssumptionsBuilder.get(self.data).build()[0]
pipelines = AssumptionsBuilder.get(self.data).from_operations().build()[0]
elif isinstance(self.predefined_model, str):
model = PrimaryNode(self.predefined_model)
pipelines = Pipeline(model)
Expand Down

0 comments on commit 0adccc4

Please sign in to comment.