learning-loop-node 0.13.4__tar.gz → 0.13.5__tar.gz
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-0.13.4 → learning_loop_node-0.13.5}/PKG-INFO +1 -1
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/detector_logic.py +11 -6
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/detector_node.py +13 -5
- learning_loop_node-0.13.5/learning_loop_node/detector/exceptions.py +7 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/pyproject.toml +1 -1
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/README.md +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/annotation/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/annotation/annotator_logic.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/annotation/annotator_node.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/annotations.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/detections.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/general.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/image_metadata.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/socket_response.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/training.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_exchanger.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/inbox_filter/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/inbox_filter/cam_observation_history.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/inbox_filter/relevance_filter.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/outbox.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/about.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/backdoor_controls.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/detect.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/model_version_control.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/operation_mode.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/outbox_mode.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/upload.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/annotator.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/detector.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/general.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/trainer.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/examples/novelty_score_updater.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/globals.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/environment_reader.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/gdrive_downloader.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/log_conf.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/misc.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/loop_communication.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/node.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/py.typed +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/rest.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/annotator/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/annotator/conftest.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/annotator/pytest.ini +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/annotator/test_annotator_node.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/conftest.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/inbox_filter/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/inbox_filter/test_observation.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/inbox_filter/test_relevance_group.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/inbox_filter/test_unexpected_observations_count.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/pytest.ini +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test.jpg +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test_client_communication.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test_detector_node.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test_outbox.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test_relevance_filter.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/testing_detector.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/conftest.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/pytest.ini +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_data/file_1.txt +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_data/file_2.txt +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_data/model.json +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_data_classes.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_downloader.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/test_learning_loop_node.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/test_helper.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/conftest.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/pytest.ini +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/state_helper.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_cleanup.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_detecting.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_download_train_model.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_prepare.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_sync_confusion_matrix.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_train.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_upload_detections.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/states/test_state_upload_model.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/test_errors.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/test_trainer_states.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/testing_trainer_logic.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/downloader.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/exceptions.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/executor.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/io_helpers.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/rest/__init__.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/rest/backdoor_controls.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/test_executor.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/trainer_logic.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/trainer_logic_generic.py +0 -0
- {learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/trainer_node.py +0 -0
|
@@ -6,6 +6,7 @@ import numpy as np
|
|
|
6
6
|
|
|
7
7
|
from ..data_classes import ImageMetadata, ModelInformation
|
|
8
8
|
from ..globals import GLOBALS
|
|
9
|
+
from .exceptions import NodeNeedsRestartError
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class DetectorLogic():
|
|
@@ -14,6 +15,8 @@ class DetectorLogic():
|
|
|
14
15
|
self.model_format: str = model_format
|
|
15
16
|
self._model_info: Optional[ModelInformation] = None
|
|
16
17
|
|
|
18
|
+
self._remaining_init_attempts: int = 2
|
|
19
|
+
|
|
17
20
|
async def soft_reload(self):
|
|
18
21
|
self._model_info = None
|
|
19
22
|
|
|
@@ -27,20 +30,22 @@ class DetectorLogic():
|
|
|
27
30
|
def is_initialized(self) -> bool:
|
|
28
31
|
return self._model_info is not None
|
|
29
32
|
|
|
30
|
-
def
|
|
33
|
+
def load_model_info_and_init_model(self):
|
|
31
34
|
logging.info('Loading model from %s', GLOBALS.data_folder)
|
|
32
|
-
|
|
33
|
-
if
|
|
35
|
+
self._model_info = ModelInformation.load_from_disk(f'{GLOBALS.data_folder}/model')
|
|
36
|
+
if self._model_info is None:
|
|
34
37
|
logging.error('No model found')
|
|
35
38
|
self._model_info = None
|
|
36
|
-
raise Exception('No model found')
|
|
37
39
|
try:
|
|
38
|
-
self._model_info = model_info
|
|
39
40
|
self.init()
|
|
40
41
|
logging.info('Successfully loaded model %s', self._model_info)
|
|
42
|
+
self._remaining_init_attempts = 2
|
|
41
43
|
except Exception:
|
|
44
|
+
self._remaining_init_attempts -= 1
|
|
42
45
|
self._model_info = None
|
|
43
|
-
logging.error('Could not init model %s',
|
|
46
|
+
logging.error('Could not init model %s. Retries left: %s', self._model_info, self._remaining_init_attempts)
|
|
47
|
+
if self._remaining_init_attempts == 0:
|
|
48
|
+
raise NodeNeedsRestartError('Could not init model') from None
|
|
44
49
|
raise
|
|
45
50
|
|
|
46
51
|
@abstractmethod
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/detector_node.py
RENAMED
|
@@ -3,6 +3,7 @@ import contextlib
|
|
|
3
3
|
import os
|
|
4
4
|
import shutil
|
|
5
5
|
import subprocess
|
|
6
|
+
import sys
|
|
6
7
|
from dataclasses import asdict
|
|
7
8
|
from datetime import datetime
|
|
8
9
|
from threading import Thread
|
|
@@ -23,6 +24,7 @@ from ..globals import GLOBALS
|
|
|
23
24
|
from ..helpers import environment_reader
|
|
24
25
|
from ..node import Node
|
|
25
26
|
from .detector_logic import DetectorLogic
|
|
27
|
+
from .exceptions import NodeNeedsRestartError
|
|
26
28
|
from .inbox_filter.relevance_filter import RelevanceFilter
|
|
27
29
|
from .outbox import Outbox
|
|
28
30
|
from .rest import about as rest_about
|
|
@@ -170,13 +172,13 @@ class DetectorNode(Node):
|
|
|
170
172
|
|
|
171
173
|
# simulate startup
|
|
172
174
|
await self.detector_logic.soft_reload()
|
|
173
|
-
self.detector_logic.
|
|
175
|
+
self.detector_logic.load_model_info_and_init_model()
|
|
174
176
|
self.operation_mode = OperationMode.Idle
|
|
175
177
|
|
|
176
178
|
async def on_startup(self) -> None:
|
|
177
179
|
try:
|
|
178
180
|
self.outbox.ensure_continuous_upload()
|
|
179
|
-
self.detector_logic.
|
|
181
|
+
self.detector_logic.load_model_info_and_init_model()
|
|
180
182
|
except Exception:
|
|
181
183
|
self.log.exception("error during 'startup'")
|
|
182
184
|
self.operation_mode = OperationMode.Idle
|
|
@@ -321,9 +323,12 @@ class DetectorNode(Node):
|
|
|
321
323
|
self.log.debug('not checking for updates; no target model selected')
|
|
322
324
|
return
|
|
323
325
|
|
|
324
|
-
|
|
326
|
+
if self.detector_logic.is_initialized:
|
|
327
|
+
current_version = self.detector_logic.model_info.version
|
|
328
|
+
else:
|
|
329
|
+
current_version = None
|
|
325
330
|
|
|
326
|
-
if
|
|
331
|
+
if current_version != self.target_model.version:
|
|
327
332
|
self.log.info('Current model "%s" needs to be updated to %s',
|
|
328
333
|
current_version or "-", self.target_model.version)
|
|
329
334
|
|
|
@@ -349,7 +354,10 @@ class DetectorNode(Node):
|
|
|
349
354
|
self.log.info('Updated symlink for model to %s', os.readlink(model_symlink))
|
|
350
355
|
|
|
351
356
|
try:
|
|
352
|
-
self.detector_logic.
|
|
357
|
+
self.detector_logic.load_model_info_and_init_model()
|
|
358
|
+
except NodeNeedsRestartError:
|
|
359
|
+
self.log.error('Node needs restart')
|
|
360
|
+
sys.exit(0)
|
|
353
361
|
except Exception:
|
|
354
362
|
self.log.exception('Could not load model, will retry download on next check')
|
|
355
363
|
shutil.rmtree(target_model_folder, ignore_errors=True)
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/annotation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/general.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_classes/training.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/data_exchanger.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/outbox.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/about.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/detect.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/detector/rest/upload.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/annotator.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/enums/detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/helpers/log_conf.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/loop_communication.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/pytest.ini
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/detector/test.jpg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/conftest.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/general/pytest.ini
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/test_helper.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/conftest.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/tests/trainer/pytest.ini
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/downloader.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/exceptions.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/executor.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/io_helpers.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/rest/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/test_executor.py
RENAMED
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/trainer_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.13.4 → learning_loop_node-0.13.5}/learning_loop_node/trainer/trainer_node.py
RENAMED
|
File without changes
|