| @@ -0,0 +1,35 @@ | |||||
| # Copyright 2020 Huawei Technologies Co., Ltd | |||||
| # | |||||
| # Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| # you may not use this file except in compliance with the License. | |||||
| # You may obtain a copy of the License at | |||||
| # | |||||
| # http://www.apache.org/licenses/LICENSE-2.0 | |||||
| # | |||||
| # Unless required by applicable law or agreed to in writing, software | |||||
| # distributed under the License is distributed on an "AS IS" BASIS, | |||||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| # See the License for the specific language governing permissions and | |||||
| # limitations under the License. | |||||
| # ============================================================================ | |||||
| """Trigger data manager load.""" | |||||
| from mindinsight.datavisual.data_transform.data_manager import DATA_MANAGER | |||||
| from mindinsight.datavisual.common.log import logger | |||||
| from mindinsight.conf import settings | |||||
| from mindinsight.lineagemgr.cache_item_updater import LineageCacheItemUpdater | |||||
| def init_module(app): | |||||
| """ | |||||
| Interface to init module. | |||||
| Args: | |||||
| app (Flask): An instance of Flask. | |||||
| """ | |||||
| # Just to suppress pylint warning about unused arg. | |||||
| logger.debug("App: %s", type(app)) | |||||
| DATA_MANAGER.register_brief_cache_item_updater(LineageCacheItemUpdater()) | |||||
| DATA_MANAGER.start_load_data(reload_interval=int(settings.RELOAD_INTERVAL), | |||||
| max_threads_count=int(settings.MAX_THREADS_COUNT)) | |||||
| @@ -18,9 +18,6 @@ from mindinsight.backend.datavisual.static_resource_api import init_module as st | |||||
| from mindinsight.backend.datavisual.task_manager_api import init_module as task_init_module | from mindinsight.backend.datavisual.task_manager_api import init_module as task_init_module | ||||
| from mindinsight.backend.datavisual.train_visual_api import init_module as train_init_module | from mindinsight.backend.datavisual.train_visual_api import init_module as train_init_module | ||||
| from mindinsight.conf import settings | |||||
| from mindinsight.datavisual.data_transform.data_manager import DATA_MANAGER | |||||
| def init_module(app): | def init_module(app): | ||||
| """ | """ | ||||
| @@ -33,6 +30,3 @@ def init_module(app): | |||||
| static_init_module(app) | static_init_module(app) | ||||
| task_init_module(app) | task_init_module(app) | ||||
| train_init_module(app) | train_init_module(app) | ||||
| DATA_MANAGER.start_load_data(reload_interval=int(settings.RELOAD_INTERVAL), | |||||
| max_threads_count=int(settings.MAX_THREADS_COUNT)) | |||||
| @@ -150,3 +150,12 @@ class HistogramNotExistError(MindInsightException): | |||||
| super(HistogramNotExistError, self).__init__(DataVisualErrors.HISTOGRAM_NOT_EXIST, | super(HistogramNotExistError, self).__init__(DataVisualErrors.HISTOGRAM_NOT_EXIST, | ||||
| error_msg, | error_msg, | ||||
| http_code=400) | http_code=400) | ||||
| class TrainJobDetailNotInCacheError(MindInsightException): | |||||
| """Detail info of given train job is not in cache.""" | |||||
| def __init__(self, error_detail="no detail provided."): | |||||
| error_msg = f'Detail info of the given train job is not in cache. Detail: {error_detail}' | |||||
| super().__init__(DataVisualErrors.TRAIN_JOB_DETAIL_NOT_IN_CACHE, | |||||
| error_msg, | |||||
| http_code=400) | |||||
| @@ -18,6 +18,7 @@ from mindinsight.datavisual.common import exceptions | |||||
| from mindinsight.datavisual.common.enums import PluginNameEnum | from mindinsight.datavisual.common.enums import PluginNameEnum | ||||
| from mindinsight.datavisual.common.validation import Validation | from mindinsight.datavisual.common.validation import Validation | ||||
| from mindinsight.datavisual.processors.base_processor import BaseProcessor | from mindinsight.datavisual.processors.base_processor import BaseProcessor | ||||
| from mindinsight.datavisual.data_transform.data_manager import DATAVISUAL_PLUGIN_KEY, DATAVISUAL_CACHE_KEY | |||||
| class TrainTaskManager(BaseProcessor): | class TrainTaskManager(BaseProcessor): | ||||
| @@ -53,13 +54,24 @@ class TrainTaskManager(BaseProcessor): | |||||
| dict, refer to restful api. | dict, refer to restful api. | ||||
| """ | """ | ||||
| Validation.check_param_empty(train_id=train_id) | Validation.check_param_empty(train_id=train_id) | ||||
| train_job = self._data_manager.get_single_train_job(train_id, manual_update=manual_update) | |||||
| if not train_job: | |||||
| if manual_update: | |||||
| self._data_manager.cache_train_job(train_id) | |||||
| train_job = self._data_manager.get_train_job(train_id) | |||||
| try: | |||||
| data_visual_content = train_job.get_detail(DATAVISUAL_CACHE_KEY) | |||||
| plugins = data_visual_content.get(DATAVISUAL_PLUGIN_KEY) | |||||
| except exceptions.TrainJobDetailNotInCacheError: | |||||
| plugins = [] | |||||
| if not plugins: | |||||
| default_result = dict() | default_result = dict() | ||||
| for plugin_name in PluginNameEnum.list_members(): | for plugin_name in PluginNameEnum.list_members(): | ||||
| default_result.update({plugin_name: list()}) | default_result.update({plugin_name: list()}) | ||||
| return dict(plugins=default_result) | return dict(plugins=default_result) | ||||
| return dict( | return dict( | ||||
| plugins=train_job['tag_mapping'] | |||||
| plugins=plugins | |||||
| ) | ) | ||||
| @@ -0,0 +1,39 @@ | |||||
| # Copyright 2020 Huawei Technologies Co., Ltd | |||||
| # | |||||
| # Licensed under the Apache License, Version 2.0 (the "License"); | |||||
| # you may not use this file except in compliance with the License. | |||||
| # You may obtain a copy of the License at | |||||
| # | |||||
| # http://www.apache.org/licenses/LICENSE-2.0 | |||||
| # | |||||
| # Unless required by applicable law or agreed to in writing, software | |||||
| # distributed under the License is distributed on an "AS IS" BASIS, | |||||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
| # See the License for the specific language governing permissions and | |||||
| # limitations under the License. | |||||
| # ============================================================================ | |||||
| """Cache item updater.""" | |||||
| import os | |||||
| from mindinsight.datavisual.data_transform.data_manager import BaseCacheItemUpdater, CachedTrainJob | |||||
| from mindinsight.lineagemgr.querier.query_model import LineageObj | |||||
| from mindinsight.lineagemgr.summary.lineage_summary_analyzer import LineageSummaryAnalyzer | |||||
| class LineageCacheItemUpdater(BaseCacheItemUpdater): | |||||
| """Cache item updater for lineage info.""" | |||||
| def update_item(self, cache_item: CachedTrainJob): | |||||
| """Update cache item in place.""" | |||||
| log_path = cache_item.summary_dir | |||||
| log_dir = os.path.dirname(log_path) | |||||
| lineage_info = LineageSummaryAnalyzer.get_summary_infos(log_path) | |||||
| user_defined_info = LineageSummaryAnalyzer.get_user_defined_info(log_path) | |||||
| lineage_obj = LineageObj( | |||||
| log_dir, | |||||
| train_lineage=lineage_info.train_lineage, | |||||
| evaluation_lineage=lineage_info.eval_lineage, | |||||
| dataset_graph=lineage_info.dataset_graph, | |||||
| user_defined_info=user_defined_info | |||||
| ) | |||||
| cache_item.set(key="lineage", value=lineage_obj) | |||||
| @@ -63,3 +63,4 @@ class DataVisualErrors(Enum): | |||||
| IMAGE_NOT_EXIST = 13 | IMAGE_NOT_EXIST = 13 | ||||
| SCALAR_NOT_EXIST = 14 | SCALAR_NOT_EXIST = 14 | ||||
| HISTOGRAM_NOT_EXIST = 15 | HISTOGRAM_NOT_EXIST = 15 | ||||
| TRAIN_JOB_DETAIL_NOT_IN_CACHE = 16 | |||||
| @@ -25,7 +25,6 @@ from flask import Response | |||||
| from mindinsight.conf import settings | from mindinsight.conf import settings | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.data_manager import DataManager | from mindinsight.datavisual.data_transform.data_manager import DataManager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.data_transform.loader_generators.loader_generator import MAX_DATA_LOADER_SIZE | from mindinsight.datavisual.data_transform.loader_generators.loader_generator import MAX_DATA_LOADER_SIZE | ||||
| from mindinsight.datavisual.utils import tools | from mindinsight.datavisual.utils import tools | ||||
| @@ -59,7 +58,7 @@ def init_summary_logs(): | |||||
| log_operations = LogOperations() | log_operations = LogOperations() | ||||
| summaries_metadata = log_operations.create_summary_logs(summary_base_dir, constants.SUMMARY_DIR_NUM_FIRST, | summaries_metadata = log_operations.create_summary_logs(summary_base_dir, constants.SUMMARY_DIR_NUM_FIRST, | ||||
| constants.SUMMARY_DIR_PREFIX) | constants.SUMMARY_DIR_PREFIX) | ||||
| mock_data_manager = DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| mock_data_manager = DataManager(summary_base_dir) | |||||
| mock_data_manager.start_load_data(reload_interval=0) | mock_data_manager.start_load_data(reload_interval=0) | ||||
| check_loading_done(mock_data_manager) | check_loading_done(mock_data_manager) | ||||
| @@ -33,7 +33,6 @@ from mindinsight.datavisual.data_transform import data_manager, ms_data_loader | |||||
| from mindinsight.datavisual.data_transform.data_loader import DataLoader | from mindinsight.datavisual.data_transform.data_loader import DataLoader | ||||
| from mindinsight.datavisual.data_transform.data_manager import DataManager | from mindinsight.datavisual.data_transform.data_manager import DataManager | ||||
| from mindinsight.datavisual.data_transform.events_data import EventsData | from mindinsight.datavisual.data_transform.events_data import EventsData | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.data_transform.loader_generators.loader_generator import MAX_DATA_LOADER_SIZE | from mindinsight.datavisual.data_transform.loader_generators.loader_generator import MAX_DATA_LOADER_SIZE | ||||
| from mindinsight.datavisual.data_transform.loader_generators.loader_struct import LoaderStruct | from mindinsight.datavisual.data_transform.loader_generators.loader_struct import LoaderStruct | ||||
| from mindinsight.datavisual.data_transform.ms_data_loader import MSDataLoader | from mindinsight.datavisual.data_transform.ms_data_loader import MSDataLoader | ||||
| @@ -89,7 +88,7 @@ class TestDataManager: | |||||
| train_ids.append(f'./dir{i}') | train_ids.append(f'./dir{i}') | ||||
| data_manager.logger = MockLogger | data_manager.logger = MockLogger | ||||
| mock_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| mock_manager = data_manager.DataManager(summary_base_dir) | |||||
| mock_manager.start_load_data(reload_interval=0) | mock_manager.start_load_data(reload_interval=0) | ||||
| check_loading_done(mock_manager) | check_loading_done(mock_manager) | ||||
| @@ -112,7 +111,7 @@ class TestDataManager: | |||||
| def test_start_load_data_with_invalid_params(self, params): | def test_start_load_data_with_invalid_params(self, params): | ||||
| """Test start_load_data with invalid reload_interval or invalid max_threads_count.""" | """Test start_load_data with invalid reload_interval or invalid max_threads_count.""" | ||||
| summary_base_dir = tempfile.mkdtemp() | summary_base_dir = tempfile.mkdtemp() | ||||
| d_manager = DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| d_manager = DataManager(summary_base_dir) | |||||
| with pytest.raises(ParamValueError): | with pytest.raises(ParamValueError): | ||||
| d_manager.start_load_data(**params) | d_manager.start_load_data(**params) | ||||
| shutil.rmtree(summary_base_dir) | shutil.rmtree(summary_base_dir) | ||||
| @@ -142,9 +141,9 @@ class TestDataManager: | |||||
| latest_update_time=modify_time_01, | latest_update_time=modify_time_01, | ||||
| data_loader=loader_01) | data_loader=loader_01) | ||||
| loader_pool = {train_job_01: loader} | loader_pool = {train_job_01: loader} | ||||
| d_manager = DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| d_manager = DataManager(summary_base_dir) | |||||
| d_manager._status = DataManagerStatus.LOADING.value | d_manager._status = DataManagerStatus.LOADING.value | ||||
| d_manager._loader_pool = loader_pool | |||||
| d_manager._detail_cache._loader_pool = loader_pool | |||||
| res = d_manager.list_tensors(train_job_01, tag) | res = d_manager.list_tensors(train_job_01, tag) | ||||
| assert res == {'test result'} | assert res == {'test result'} | ||||
| @@ -169,9 +168,9 @@ class TestDataManager: | |||||
| latest_update_time=modify_time_01, | latest_update_time=modify_time_01, | ||||
| data_loader=loader_01) | data_loader=loader_01) | ||||
| loader_pool = {train_job_01: loader} | loader_pool = {train_job_01: loader} | ||||
| d_manager = DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| d_manager = DataManager(summary_base_dir) | |||||
| d_manager._status = DataManagerStatus.LOADING.value | d_manager._status = DataManagerStatus.LOADING.value | ||||
| d_manager._loader_pool = loader_pool | |||||
| d_manager._detail_cache._loader_pool = loader_pool | |||||
| tag = 'image' | tag = 'image' | ||||
| with pytest.raises(ParamValueError): | with pytest.raises(ParamValueError): | ||||
| d_manager.list_tensors(train_job_01, tag) | d_manager.list_tensors(train_job_01, tag) | ||||
| @@ -181,7 +180,7 @@ class TestDataManager: | |||||
| def test_list_tensors_with_not_exist_train_job(self): | def test_list_tensors_with_not_exist_train_job(self): | ||||
| """Test list_tensors method with parameter train_id not found in loader_pool.""" | """Test list_tensors method with parameter train_id not found in loader_pool.""" | ||||
| summary_base_dir = tempfile.mkdtemp() | summary_base_dir = tempfile.mkdtemp() | ||||
| d_manager = DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| d_manager = DataManager(summary_base_dir) | |||||
| d_manager._status = DataManagerStatus.LOADING.value | d_manager._status = DataManagerStatus.LOADING.value | ||||
| tag = 'image' | tag = 'image' | ||||
| train_job_01 = 'train_01' | train_job_01 = 'train_01' | ||||
| @@ -200,13 +199,12 @@ class TestDataManager: | |||||
| expected_loader_ids = list(loader_dict.keys()) | expected_loader_ids = list(loader_dict.keys()) | ||||
| mock_generate_loaders.return_value = loader_dict | mock_generate_loaders.return_value = loader_dict | ||||
| generators = [data_manager.DataLoaderGenerator(summary_base_dir)] | |||||
| mock_data_manager = data_manager.DataManager(generators) | |||||
| mock_data_manager._execute_load_data = Mock() | |||||
| mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| mock_data_manager._detail_cache._execute_load_data = Mock() | |||||
| mock_data_manager.start_load_data(reload_interval=0) | mock_data_manager.start_load_data(reload_interval=0) | ||||
| check_loading_done(mock_data_manager, 3) | check_loading_done(mock_data_manager, 3) | ||||
| current_loader_ids = mock_data_manager._loader_pool.keys() | |||||
| current_loader_ids = mock_data_manager._detail_cache._loader_pool.keys() | |||||
| assert sorted(current_loader_ids) == sorted(expected_loader_ids) | assert sorted(current_loader_ids) == sorted(expected_loader_ids) | ||||
| @@ -221,7 +219,7 @@ class TestDataManager: | |||||
| mock_generate_loaders.return_value = loader_dict | mock_generate_loaders.return_value = loader_dict | ||||
| mock_data_manager.start_load_data(reload_interval=0) | mock_data_manager.start_load_data(reload_interval=0) | ||||
| check_loading_done(mock_data_manager) | check_loading_done(mock_data_manager) | ||||
| current_loader_ids = mock_data_manager._loader_pool.keys() | |||||
| current_loader_ids = mock_data_manager._detail_cache._loader_pool.keys() | |||||
| assert sorted(current_loader_ids) == sorted(expected_loader_ids) | assert sorted(current_loader_ids) == sorted(expected_loader_ids) | ||||
| @@ -30,7 +30,6 @@ from mindinsight.datavisual.common.exceptions import GraphNotExistError | |||||
| from mindinsight.datavisual.common.exceptions import NodeNotInGraphError | from mindinsight.datavisual.common.exceptions import NodeNotInGraphError | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.data_manager import DataManager | from mindinsight.datavisual.data_transform.data_manager import DataManager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.processors.graph_processor import GraphProcessor | from mindinsight.datavisual.processors.graph_processor import GraphProcessor | ||||
| from mindinsight.datavisual.utils import crc32 | from mindinsight.datavisual.utils import crc32 | ||||
| from mindinsight.utils.exceptions import ParamValueError | from mindinsight.utils.exceptions import ParamValueError | ||||
| @@ -74,7 +73,7 @@ class TestGraphProcessor: | |||||
| self._temp_path, self._graph_dict, _ = log_operation.generate_log(PluginNameEnum.GRAPH.value, log_dir) | self._temp_path, self._graph_dict, _ = log_operation.generate_log(PluginNameEnum.GRAPH.value, log_dir) | ||||
| self._generated_path.append(summary_base_dir) | self._generated_path.append(summary_base_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| # wait for loading done | # wait for loading done | ||||
| @@ -93,7 +92,7 @@ class TestGraphProcessor: | |||||
| self._generated_path.append(summary_base_dir) | self._generated_path.append(summary_base_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| # wait for loading done | # wait for loading done | ||||
| @@ -27,7 +27,6 @@ from mindinsight.datavisual.common.enums import PluginNameEnum | |||||
| from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | ||||
| from mindinsight.datavisual.common.exceptions import HistogramNotExistError | from mindinsight.datavisual.common.exceptions import HistogramNotExistError | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.processors.histogram_processor import HistogramProcessor | from mindinsight.datavisual.processors.histogram_processor import HistogramProcessor | ||||
| from mindinsight.datavisual.utils import crc32 | from mindinsight.datavisual.utils import crc32 | ||||
| @@ -72,7 +71,7 @@ class TestHistogramProcessor: | |||||
| PluginNameEnum.HISTOGRAM.value, log_dir, dict(step=self._steps_list, tag=self._tag_name)) | PluginNameEnum.HISTOGRAM.value, log_dir, dict(step=self._steps_list, tag=self._tag_name)) | ||||
| self._generated_path.append(summary_base_dir) | self._generated_path.append(summary_base_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| # wait for loading done | # wait for loading done | ||||
| @@ -27,7 +27,6 @@ from mindinsight.datavisual.common.enums import PluginNameEnum | |||||
| from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | ||||
| from mindinsight.datavisual.common.exceptions import ImageNotExistError | from mindinsight.datavisual.common.exceptions import ImageNotExistError | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.processors.images_processor import ImageProcessor | from mindinsight.datavisual.processors.images_processor import ImageProcessor | ||||
| from mindinsight.datavisual.utils import crc32 | from mindinsight.datavisual.utils import crc32 | ||||
| @@ -81,7 +80,7 @@ class TestImagesProcessor: | |||||
| PluginNameEnum.IMAGE.value, log_dir, dict(steps=steps_list, tag=self._tag_name)) | PluginNameEnum.IMAGE.value, log_dir, dict(steps=steps_list, tag=self._tag_name)) | ||||
| self._generated_path.append(summary_base_dir) | self._generated_path.append(summary_base_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| # wait for loading done | # wait for loading done | ||||
| @@ -27,7 +27,6 @@ from mindinsight.datavisual.common.enums import PluginNameEnum | |||||
| from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | ||||
| from mindinsight.datavisual.common.exceptions import ScalarNotExistError | from mindinsight.datavisual.common.exceptions import ScalarNotExistError | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.processors.scalars_processor import ScalarsProcessor | from mindinsight.datavisual.processors.scalars_processor import ScalarsProcessor | ||||
| from mindinsight.datavisual.utils import crc32 | from mindinsight.datavisual.utils import crc32 | ||||
| @@ -73,7 +72,7 @@ class TestScalarsProcessor: | |||||
| PluginNameEnum.SCALAR.value, log_dir, dict(step=self._steps_list, tag=self._tag_name)) | PluginNameEnum.SCALAR.value, log_dir, dict(step=self._steps_list, tag=self._tag_name)) | ||||
| self._generated_path.append(summary_base_dir) | self._generated_path.append(summary_base_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(summary_base_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(summary_base_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| # wait for loading done | # wait for loading done | ||||
| @@ -27,7 +27,6 @@ import pytest | |||||
| from mindinsight.datavisual.common.enums import PluginNameEnum | from mindinsight.datavisual.common.enums import PluginNameEnum | ||||
| from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | from mindinsight.datavisual.common.exceptions import TrainJobNotExistError | ||||
| from mindinsight.datavisual.data_transform import data_manager | from mindinsight.datavisual.data_transform import data_manager | ||||
| from mindinsight.datavisual.data_transform.loader_generators.data_loader_generator import DataLoaderGenerator | |||||
| from mindinsight.datavisual.processors.train_task_manager import TrainTaskManager | from mindinsight.datavisual.processors.train_task_manager import TrainTaskManager | ||||
| from mindinsight.datavisual.utils import crc32 | from mindinsight.datavisual.utils import crc32 | ||||
| @@ -97,7 +96,7 @@ class TestTrainTaskManager: | |||||
| self._generated_path.append(self._root_dir) | self._generated_path.append(self._root_dir) | ||||
| self._mock_data_manager = data_manager.DataManager([DataLoaderGenerator(self._root_dir)]) | |||||
| self._mock_data_manager = data_manager.DataManager(self._root_dir) | |||||
| self._mock_data_manager.start_load_data(reload_interval=0) | self._mock_data_manager.start_load_data(reload_interval=0) | ||||
| check_loading_done(self._mock_data_manager, time_limit=30) | check_loading_done(self._mock_data_manager, time_limit=30) | ||||