code-loader 0.2.84.dev32__py3-none-any.whl → 0.2.84.dev50__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- code_loader/leap_loader_parallelized_base.py +6 -7
- code_loader/metric_calculator_parallelized.py +4 -2
- code_loader/samples_generator_parallelized.py +1 -2
- {code_loader-0.2.84.dev32.dist-info → code_loader-0.2.84.dev50.dist-info}/METADATA +1 -1
- {code_loader-0.2.84.dev32.dist-info → code_loader-0.2.84.dev50.dist-info}/RECORD +7 -7
- {code_loader-0.2.84.dev32.dist-info → code_loader-0.2.84.dev50.dist-info}/LICENSE +0 -0
- {code_loader-0.2.84.dev32.dist-info → code_loader-0.2.84.dev50.dist-info}/WHEEL +0 -0
@@ -13,8 +13,9 @@ class LeapLoaderParallelizedBase(ABC):
|
|
13
13
|
def __init__(self, code_path: str, code_entry_name: str,
|
14
14
|
n_workers: Optional[int] = 2, max_ready_results_in_queue: int = 128,
|
15
15
|
multiprocessing_context: Optional[str] = None) -> None:
|
16
|
-
self.
|
17
|
-
|
16
|
+
self.multiprocessing_context = multiprocessing
|
17
|
+
if multiprocessing_context is not None:
|
18
|
+
self.multiprocessing_context = multiprocessing.get_context(multiprocessing_context)
|
18
19
|
|
19
20
|
self.code_entry_name = code_entry_name
|
20
21
|
self.code_path = code_path
|
@@ -36,7 +37,7 @@ class LeapLoaderParallelizedBase(ABC):
|
|
36
37
|
memory_usage_in_bytes = p.memory_info().rss
|
37
38
|
total_memory_in_bytes = psutil.virtual_memory().total
|
38
39
|
|
39
|
-
n_workers = min(int(
|
40
|
+
n_workers = min(int(multiprocessing.cpu_count()),
|
40
41
|
int(total_memory_in_bytes * 0.7 / memory_usage_in_bytes))
|
41
42
|
n_workers = max(n_workers, 1)
|
42
43
|
return n_workers
|
@@ -50,10 +51,8 @@ class LeapLoaderParallelizedBase(ABC):
|
|
50
51
|
|
51
52
|
@lru_cache()
|
52
53
|
def start(self) -> None:
|
53
|
-
|
54
|
-
|
55
|
-
self._inputs_waiting_to_be_process = multiprocessing.Queue(5000)
|
56
|
-
self._ready_processed_results = multiprocessing.Queue(self.max_ready_results_in_queue)
|
54
|
+
self._inputs_waiting_to_be_process = self.multiprocessing_context.Queue(5000)
|
55
|
+
self._ready_processed_results = self.multiprocessing_context.Queue(self.max_ready_results_in_queue)
|
57
56
|
|
58
57
|
self._run_and_warm_first_process()
|
59
58
|
n_workers = self.n_workers
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# mypy: ignore-errors
|
2
|
-
import multiprocessing
|
3
2
|
from typing import Optional, List, Tuple, Dict
|
4
3
|
from multiprocessing import Process, Queue
|
5
4
|
from code_loader.leap_loader_parallelized_base import LeapLoaderParallelizedBase
|
@@ -25,6 +24,9 @@ class MetricCalculatorParallelized(LeapLoaderParallelizedBase):
|
|
25
24
|
@staticmethod
|
26
25
|
def _process_func(code_path: str, code_entry_name: str,
|
27
26
|
metrics_to_process: Queue, ready_samples: Queue) -> None:
|
27
|
+
import os
|
28
|
+
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
|
29
|
+
|
28
30
|
leap_loader = LeapLoader(code_path, code_entry_name)
|
29
31
|
while True:
|
30
32
|
metric_id, metric_name, input_arg_name_to_tensor = metrics_to_process.get(block=True)
|
@@ -39,7 +41,7 @@ class MetricCalculatorParallelized(LeapLoaderParallelizedBase):
|
|
39
41
|
ready_samples.put((metric_id, metric_result))
|
40
42
|
|
41
43
|
def _create_and_start_process(self) -> Process:
|
42
|
-
process =
|
44
|
+
process = self.multiprocessing_context.Process(
|
43
45
|
target=MetricCalculatorParallelized._process_func,
|
44
46
|
args=(self.code_path, self.code_entry_name, self._inputs_waiting_to_be_process,
|
45
47
|
self._ready_processed_results))
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# mypy: ignore-errors
|
2
|
-
import multiprocessing
|
3
2
|
import traceback
|
4
3
|
from dataclasses import dataclass
|
5
4
|
|
@@ -26,7 +25,7 @@ class SamplesGeneratorParallelized(LeapLoaderParallelizedBase):
|
|
26
25
|
super().__init__(code_path, code_entry_name, n_workers, max_samples_in_queue)
|
27
26
|
|
28
27
|
def _create_and_start_process(self) -> Process:
|
29
|
-
process =
|
28
|
+
process = self.multiprocessing_context.Process(
|
30
29
|
target=SamplesGeneratorParallelized._process_func,
|
31
30
|
args=(self.code_path, self.code_entry_name, self._inputs_waiting_to_be_process,
|
32
31
|
self._ready_processed_results))
|
@@ -20,16 +20,16 @@ code_loader/helpers/instancesegmentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
|
|
20
20
|
code_loader/helpers/instancesegmentation/utils.py,sha256=bl4nlg7mV8CZyPl8grGAE5603TFVM7PTZyM3BRMbXBg,930
|
21
21
|
code_loader/leap_binder/__init__.py,sha256=Oe7DNj6RmgX-tMruOrI7GYvf3SyAnzOxugF2e117_Z8,93
|
22
22
|
code_loader/leap_binder/leapbinder.py,sha256=WjC-UA5xeY9UZtMqJQOxjidlFcWURC9mmy7OrQy1IY0,6692
|
23
|
-
code_loader/leap_loader_parallelized_base.py,sha256=
|
23
|
+
code_loader/leap_loader_parallelized_base.py,sha256=_HNbjRK42wRM1V252ETVzibHW8bofFK8-Kq-It5fRks,4758
|
24
24
|
code_loader/leaploader.py,sha256=MnQeNOwNgkQItCWFiWT6xBxAsqjNbcTOPk8HIP8v19o,15370
|
25
|
-
code_loader/metric_calculator_parallelized.py,sha256=
|
25
|
+
code_loader/metric_calculator_parallelized.py,sha256=X1FHFlfPorjFVNbms19s_yItkKFja0b97wUJHNvvlxs,2233
|
26
26
|
code_loader/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
27
|
code_loader/metrics/default_metrics.py,sha256=xtvTskR7LC5pyKSlFcvlyBpFY9TSXNGVAi5taEPSI60,6727
|
28
|
-
code_loader/samples_generator_parallelized.py,sha256=
|
28
|
+
code_loader/samples_generator_parallelized.py,sha256=p0hQ6tKL3GI9nlDKa1GDFD1Gf3SqNRdJB640EIPwIh4,2307
|
29
29
|
code_loader/utils.py,sha256=WUcM97OuxrhfLCRPoH9EbXrxajNpYgX1CTMc3_PXtYU,1736
|
30
30
|
code_loader/visualizers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
31
|
code_loader/visualizers/default_visualizers.py,sha256=HqWx2qfTrroGl2n8Fpmr_4X-rk7tE2oGapjO3gzz4WY,2226
|
32
|
-
code_loader-0.2.84.
|
33
|
-
code_loader-0.2.84.
|
34
|
-
code_loader-0.2.84.
|
35
|
-
code_loader-0.2.84.
|
32
|
+
code_loader-0.2.84.dev50.dist-info/LICENSE,sha256=qIwWjdspQeSMTtnFZBC8MuT-95L02FPvzRUdWFxrwJY,1067
|
33
|
+
code_loader-0.2.84.dev50.dist-info/METADATA,sha256=ABQxqPt_lK02sGPF6HUyVvKzoc450mGA3Mg6iMVuMl8,953
|
34
|
+
code_loader-0.2.84.dev50.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
35
|
+
code_loader-0.2.84.dev50.dist-info/RECORD,,
|
File without changes
|
File without changes
|