FEDOT
31 строка · 1.2 Кб
1import os2from datetime import timedelta3from typing import Optional, Callable4from uuid import uuid45
6from fedot.core.pipelines.pipeline import Pipeline7from fedot.core.utils import default_fedot_data_dir8from fedot.remote.infrastructure.clients.client import Client9from fedot.remote.run_pipeline import fit_pipeline10
11
12class TestClient(Client):13def __init__(self, connect_params: dict, exec_params: dict, output_path: Optional[str] = None):14self.connect_params = connect_params15self.exec_params = exec_params16self.output_path = output_path if output_path else \17os.path.join(default_fedot_data_dir(), 'remote_fit_results')18super().__init__(connect_params, exec_params, output_path)19
20def create_task(self, config) -> str:21fit_pipeline(config)22return str(uuid4())23
24def wait_until_ready(self) -> timedelta:25return timedelta()26
27def download_result(self, execution_id: int, result_cls=Pipeline) -> Pipeline:28results_path_out = os.path.join(self.output_path)29results_folder = os.listdir(results_path_out)[0]30pipeline = result_cls.from_serialized(os.path.join(results_path_out, results_folder, 'fitted_pipeline.json'))31return pipeline32