diff --git a/fedot/core/operations/operation.py b/fedot/core/operations/operation.py index 23314407e1..deed03a172 100644 --- a/fedot/core/operations/operation.py +++ b/fedot/core/operations/operation.py @@ -1,4 +1,5 @@ from abc import abstractmethod +from copy import deepcopy from typing import Optional, Union, Dict, Any from golem.core.log import default_log @@ -80,6 +81,7 @@ def fit(self, params: Optional[Union[OperationParameters, dict]], data: InputDat Returns: tuple: trained operation and prediction on train data """ + data = deepcopy(data) self._init(data.task, params=params, n_samples_data=data.features.shape[0]) self.fitted_operation = self._eval_strategy.fit(train_data=data) @@ -119,6 +121,7 @@ def predict_for_fit(self, fitted_operation, data: InputData, params: Optional[Op def _predict(self, fitted_operation, data: InputData, params: Optional[OperationParameters] = None, output_mode: str = 'default', is_fit_stage: bool = False): + data = deepcopy(data) is_main_target = data.supplementary_data.is_main_target data_flow_length = data.supplementary_data.data_flow_length self._init(data.task, output_mode=output_mode, params=params, n_samples_data=data.features.shape[0])