From 9f73dbabdb078d5719695fe2abc21fb722918c86 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Fri, 4 Oct 2019 01:34:22 +0300 Subject: [PATCH] Better multi-processing, switching to to multiprocess Lock --- trains/backend_interface/metrics/events.py | 2 +- trains/backend_interface/metrics/interface.py | 2 +- trains/backend_interface/model.py | 4 ++-- trains/binding/artifacts.py | 3 ++- trains/utilities/async_manager.py | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/trains/backend_interface/metrics/events.py b/trains/backend_interface/metrics/events.py index d72e88db..c7aac3e8 100644 --- a/trains/backend_interface/metrics/events.py +++ b/trains/backend_interface/metrics/events.py @@ -1,6 +1,6 @@ import abc import time -from threading import Lock +from multiprocessing import Lock import attr import numpy as np diff --git a/trains/backend_interface/metrics/interface.py b/trains/backend_interface/metrics/interface.py index ee773b84..ccafb7c6 100644 --- a/trains/backend_interface/metrics/interface.py +++ b/trains/backend_interface/metrics/interface.py @@ -1,6 +1,6 @@ from functools import partial from multiprocessing.pool import ThreadPool -from threading import Lock +from multiprocessing import Lock from time import time from humanfriendly import format_timespan diff --git a/trains/backend_interface/model.py b/trains/backend_interface/model.py index b66d06e4..aa009675 100644 --- a/trains/backend_interface/model.py +++ b/trains/backend_interface/model.py @@ -386,12 +386,12 @@ class Model(IdObjectBase, AsyncManagerMixin, _StorageUriMixin): if not uri or not uri.strip(): return None - helper = StorageHelper.get(uri, logger=self._log, verbose=True) + helper = StorageHelper.get(uri) filename = uri.split('/')[-1] ext = '.'.join(filename.split('.')[1:]) fd, local_filename = mkstemp(suffix='.'+ext) os.close(fd) - local_download = helper.download_to_file(uri, local_path=local_filename, overwrite_existing=True) + local_download = helper.download_to_file(uri, local_path=local_filename, overwrite_existing=True, verbose=True) # save local model, so we can later query what was the original one Model._local_model_to_id_uri[str(local_download)] = (self.model_id, uri) return local_download diff --git a/trains/binding/artifacts.py b/trains/binding/artifacts.py index 92eb38f8..5be9b90d 100644 --- a/trains/binding/artifacts.py +++ b/trains/binding/artifacts.py @@ -7,7 +7,8 @@ from copy import deepcopy from datetime import datetime from multiprocessing.pool import ThreadPool from tempfile import mkdtemp, mkstemp -from threading import Thread, Event, RLock +from threading import Thread, Event +from multiprocessing import RLock from time import time import humanfriendly diff --git a/trains/utilities/async_manager.py b/trains/utilities/async_manager.py index fd57e11d..46daf897 100644 --- a/trains/utilities/async_manager.py +++ b/trains/utilities/async_manager.py @@ -1,6 +1,6 @@ import os import time -from threading import Lock +from multiprocessing import Lock import six