learning-loop-node 0.13.0__py3-none-any.whl → 0.13.1__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.
Potentially problematic release.
This version of learning-loop-node might be problematic. Click here for more details.
- learning_loop_node/detector/detector_logic.py +3 -2
- learning_loop_node/detector/detector_node.py +18 -8
- {learning_loop_node-0.13.0.dist-info → learning_loop_node-0.13.1.dist-info}/METADATA +1 -1
- {learning_loop_node-0.13.0.dist-info → learning_loop_node-0.13.1.dist-info}/RECORD +5 -5
- {learning_loop_node-0.13.0.dist-info → learning_loop_node-0.13.1.dist-info}/WHEEL +0 -0
|
@@ -31,14 +31,15 @@ class DetectorLogic():
|
|
|
31
31
|
logging.info('Loading model from %s', GLOBALS.data_folder)
|
|
32
32
|
model_info = ModelInformation.load_from_disk(f'{GLOBALS.data_folder}/model')
|
|
33
33
|
if model_info is None:
|
|
34
|
-
logging.
|
|
34
|
+
logging.error('No model found')
|
|
35
35
|
self._model_info = None
|
|
36
|
-
|
|
36
|
+
raise Exception('No model found')
|
|
37
37
|
try:
|
|
38
38
|
self._model_info = model_info
|
|
39
39
|
self.init()
|
|
40
40
|
logging.info('Successfully loaded model %s', self._model_info)
|
|
41
41
|
except Exception:
|
|
42
|
+
self._model_info = None
|
|
42
43
|
logging.error('Could not init model %s', model_info)
|
|
43
44
|
raise
|
|
44
45
|
|
|
@@ -107,6 +107,8 @@ class DetectorNode(Node):
|
|
|
107
107
|
|
|
108
108
|
async def set_model_version_mode(self, version_control_mode: str) -> None:
|
|
109
109
|
|
|
110
|
+
self.log.info('Setting model version mode to %s', version_control_mode)
|
|
111
|
+
|
|
110
112
|
if version_control_mode == 'follow_loop':
|
|
111
113
|
self.version_control = VersionMode.FollowLoop
|
|
112
114
|
elif version_control_mode == 'pause':
|
|
@@ -324,13 +326,16 @@ class DetectorNode(Node):
|
|
|
324
326
|
with step_into(GLOBALS.data_folder):
|
|
325
327
|
model_symlink = 'model'
|
|
326
328
|
target_model_folder = f'models/{self.target_model.version}'
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
329
|
+
if not os.path.exists(target_model_folder):
|
|
330
|
+
os.makedirs(target_model_folder)
|
|
331
|
+
await self.data_exchanger.download_model(target_model_folder,
|
|
332
|
+
Context(organization=self.organization,
|
|
333
|
+
project=self.project),
|
|
334
|
+
self.target_model.id,
|
|
335
|
+
self.detector_logic.model_format)
|
|
336
|
+
self.log.info('Downloaded model %s', self.target_model.version)
|
|
337
|
+
else:
|
|
338
|
+
self.log.info('No need to download model %s (already exists)', self.target_model.version)
|
|
334
339
|
try:
|
|
335
340
|
os.unlink(model_symlink)
|
|
336
341
|
os.remove(model_symlink)
|
|
@@ -339,7 +344,12 @@ class DetectorNode(Node):
|
|
|
339
344
|
os.symlink(target_model_folder, model_symlink)
|
|
340
345
|
self.log.info('Updated symlink for model to %s', os.readlink(model_symlink))
|
|
341
346
|
|
|
342
|
-
|
|
347
|
+
try:
|
|
348
|
+
self.detector_logic.load_model()
|
|
349
|
+
except Exception:
|
|
350
|
+
self.log.exception('Could not load model, will retry download on next check')
|
|
351
|
+
shutil.rmtree(target_model_folder, ignore_errors=True)
|
|
352
|
+
return
|
|
343
353
|
try:
|
|
344
354
|
await self.sync_status_with_learning_loop()
|
|
345
355
|
except Exception:
|
|
@@ -11,8 +11,8 @@ learning_loop_node/data_classes/socket_response.py,sha256=tIdt-oYf6ULoJIDYQCecNM
|
|
|
11
11
|
learning_loop_node/data_classes/training.py,sha256=FFPsr2AA7ynYz39MLZaFJ0sF_9Axll5HHbAA8nnirp0,5726
|
|
12
12
|
learning_loop_node/data_exchanger.py,sha256=IG5ki3f3IsVuXbyw6q_gUIakgv-GMT6e9nhOhzjKgW4,9055
|
|
13
13
|
learning_loop_node/detector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
learning_loop_node/detector/detector_logic.py,sha256=
|
|
15
|
-
learning_loop_node/detector/detector_node.py,sha256=
|
|
14
|
+
learning_loop_node/detector/detector_logic.py,sha256=FhGbu0mdF0tW0Gg8cr8xM6ZmZzEigGf0IcAWBjoxFrs,2191
|
|
15
|
+
learning_loop_node/detector/detector_node.py,sha256=ud5jFhazk_8wKzrwtpWRwVsLQkWzskzCnymAKbJW7H0,24921
|
|
16
16
|
learning_loop_node/detector/inbox_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
learning_loop_node/detector/inbox_filter/cam_observation_history.py,sha256=8gzxYPD3t1OS9wBHXfIvNV2xTTMo0B70O1b50iaH2D8,3344
|
|
18
18
|
learning_loop_node/detector/inbox_filter/relevance_filter.py,sha256=NPEmrAtuGjIWCtHS0B3zDmnYWkhVFCLbd_7RUp08_AM,1372
|
|
@@ -96,6 +96,6 @@ learning_loop_node/trainer/test_executor.py,sha256=6BVGDN_6f5GEMMEvDLSG1yzMybSvg
|
|
|
96
96
|
learning_loop_node/trainer/trainer_logic.py,sha256=eK-01qZzi10UjLMCQX8vy5eW2FoghPj3rzzDC-s3Si4,8792
|
|
97
97
|
learning_loop_node/trainer/trainer_logic_generic.py,sha256=JGH2IClpte8WqO_Pmh7Epa-328Pyl5RYYZlWgOdygvs,26827
|
|
98
98
|
learning_loop_node/trainer/trainer_node.py,sha256=Dl4ZQAjjXQggibeBjvhXAoFClw1ZX2Kkt3v_fjrJnCI,4508
|
|
99
|
-
learning_loop_node-0.13.
|
|
100
|
-
learning_loop_node-0.13.
|
|
101
|
-
learning_loop_node-0.13.
|
|
99
|
+
learning_loop_node-0.13.1.dist-info/METADATA,sha256=uR7jIEJgo8EPnOimjLXTu2IM58cgLiHUVfPTD78xc9o,12761
|
|
100
|
+
learning_loop_node-0.13.1.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
|
|
101
|
+
learning_loop_node-0.13.1.dist-info/RECORD,,
|
|
File without changes
|