learning-loop-node 0.10.5__tar.gz → 0.10.6__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.10.5 → learning_loop_node-0.10.6}/PKG-INFO +1 -1
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/annotation/tests/test_annotator_node.py +6 -6
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/detector_node.py +0 -5
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_executor.py +1 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/executor.py +3 -3
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/conftest.py +2 -2
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_detecting.py +3 -3
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/pyproject.toml +1 -1
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/README.md +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/annotation/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/annotation/annotator_logic.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/annotation/annotator_node.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/conftest.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/annotations.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/detections.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/general.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/socket_response.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/training.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_exchanger.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/detector_logic.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/cam_observation_history.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/relevance_filter.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/tests/test_observation.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/tests/test_relevance_group.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/inbox_filter/tests/test_unexpected_observations_count.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/outbox.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/about.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/backdoor_controls.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/detect.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/operation_mode.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/upload.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/conftest.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/test.jpg +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/test_client_communication.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/test_outbox.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/test_relevance_filter.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/testing_detector.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/examples/novelty_score_updater.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/globals.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/environment_reader.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/gdrive_downloader.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/log_conf.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/misc.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/loop_communication.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/node.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/py.typed +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/pytest.ini +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/conftest.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_data/file_1.txt +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_data/file_2.txt +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_data/model.json +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_data_classes.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_downloader.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_helper.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_learning_loop_node.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/downloader.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/io_helpers.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/rest/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/rest/backdoor_controls.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/rest/controls.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/state_helper.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/__init__.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_cleanup.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_download_train_model.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_prepare.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_sync_confusion_matrix.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_train.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_upload_detections.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/states/test_state_upload_model.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/test_errors.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/test_trainer_states.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/testing_trainer_logic.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/trainer_logic.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/trainer_logic_generic.py +0 -0
- {learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/trainer_node.py +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import asyncio
|
|
1
2
|
import os
|
|
2
3
|
from dataclasses import asdict
|
|
3
4
|
from typing import Dict
|
|
@@ -7,10 +8,8 @@ from fastapi.encoders import jsonable_encoder
|
|
|
7
8
|
|
|
8
9
|
from learning_loop_node.annotation.annotator_logic import AnnotatorLogic
|
|
9
10
|
from learning_loop_node.annotation.annotator_node import AnnotatorNode
|
|
10
|
-
from learning_loop_node.data_classes import (AnnotationData,
|
|
11
|
-
|
|
12
|
-
CategoryType, Context, Point,
|
|
13
|
-
ToolOutput, UserInput)
|
|
11
|
+
from learning_loop_node.data_classes import (AnnotationData, AnnotationEventType, Category, CategoryType, Context,
|
|
12
|
+
Point, ToolOutput, UserInput)
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
class MockedAnnotatatorLogic(AnnotatorLogic):
|
|
@@ -29,7 +28,7 @@ def default_user_input() -> UserInput:
|
|
|
29
28
|
coordinate=Point(x=0, y=0),
|
|
30
29
|
event_type=AnnotationEventType.LeftMouseDown,
|
|
31
30
|
context=Context(organization='zauberzeug', project='pytest_p'),
|
|
32
|
-
image_uuid='
|
|
31
|
+
image_uuid='f786350c-89ca-9424-9b00-720a9a85fe09',
|
|
33
32
|
category=Category(id='some_id', name='category_1', description='',
|
|
34
33
|
hotkey='', color='', type=CategoryType.Segmentation)
|
|
35
34
|
)
|
|
@@ -40,7 +39,8 @@ def default_user_input() -> UserInput:
|
|
|
40
39
|
|
|
41
40
|
@pytest.mark.asyncio
|
|
42
41
|
async def test_image_download(setup_test_project): # pylint: disable=unused-argument
|
|
43
|
-
|
|
42
|
+
# TODO: This test depends on a pseudo-random uuid..
|
|
43
|
+
image_path = '/tmp/learning_loop_lib_data/zauberzeug/pytest_p/images/f786350c-89ca-9424-9b00-720a9a85fe09.jpg'
|
|
44
44
|
|
|
45
45
|
assert os.path.exists(image_path) is False
|
|
46
46
|
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/detector_node.py
RENAMED
|
@@ -156,9 +156,6 @@ class DetectorNode(Node):
|
|
|
156
156
|
|
|
157
157
|
tags = data.get('tags', [])
|
|
158
158
|
tags.append('picked_by_system')
|
|
159
|
-
camera_id = data.get('camera-id', None) or data.get('mac', None)
|
|
160
|
-
if camera_id is not None:
|
|
161
|
-
tags.append(camera_id)
|
|
162
159
|
|
|
163
160
|
loop = asyncio.get_event_loop()
|
|
164
161
|
try:
|
|
@@ -315,8 +312,6 @@ class DetectorNode(Node):
|
|
|
315
312
|
n_po, n_se = len(detections.point_detections), len(detections.segmentation_detections)
|
|
316
313
|
self.log.info(f'detected:{n_bo} boxes, {n_po} points, {n_se} segs, {n_cl} classes')
|
|
317
314
|
|
|
318
|
-
if camera_id is not None:
|
|
319
|
-
tags.append(camera_id)
|
|
320
315
|
if autoupload is None or autoupload == 'filtered': # NOTE default is filtered
|
|
321
316
|
Thread(target=self.relevance_filter.may_upload_detections,
|
|
322
317
|
args=(detections, camera_id, raw_image, tags)).start()
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_executor.py
RENAMED
|
@@ -44,6 +44,7 @@ async def test_executor_lifecycle():
|
|
|
44
44
|
|
|
45
45
|
assert not executor.is_running()
|
|
46
46
|
sleep(1)
|
|
47
|
+
# NOTE: It happend that this process became a zombie process which leads to repeated test failures -> restart machine required
|
|
47
48
|
assert_process_is_running('some_executable.sh', False)
|
|
48
49
|
|
|
49
50
|
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/executor.py
RENAMED
|
@@ -3,7 +3,7 @@ import logging
|
|
|
3
3
|
import os
|
|
4
4
|
import shlex
|
|
5
5
|
from io import BufferedWriter
|
|
6
|
-
from typing import List, Optional
|
|
6
|
+
from typing import List, Optional, Dict
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class Executor:
|
|
@@ -16,7 +16,7 @@ class Executor:
|
|
|
16
16
|
|
|
17
17
|
self.path = base_path
|
|
18
18
|
self.log_file_path = f'{self.path}/{log_name}'
|
|
19
|
-
self.log_file:
|
|
19
|
+
self.log_file: Optional[BufferedWriter] = None
|
|
20
20
|
self._process: Optional[asyncio.subprocess.Process] = None # pylint: disable=no-member
|
|
21
21
|
os.makedirs(self.path, exist_ok=True)
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@ class Executor:
|
|
|
26
26
|
return self._process
|
|
27
27
|
return None
|
|
28
28
|
|
|
29
|
-
async def start(self, cmd: str, env: Optional[
|
|
29
|
+
async def start(self, cmd: str, env: Optional[Dict[str, str]] = None) -> None:
|
|
30
30
|
"""Start the process with the given command and environment variables."""
|
|
31
31
|
|
|
32
32
|
full_env = os.environ.copy()
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/tests/conftest.py
RENAMED
|
@@ -29,7 +29,7 @@ async def test_initialized_trainer_node():
|
|
|
29
29
|
trainer._node = node
|
|
30
30
|
trainer._init_new_training(context=Context(organization='zauberzeug', project='demo'),
|
|
31
31
|
details={'categories': [],
|
|
32
|
-
'id': '
|
|
32
|
+
'id': '00000000-0000-0000-0000-000000000012', # version 1.2 of demo project
|
|
33
33
|
'training_number': 0,
|
|
34
34
|
'resolution': 800,
|
|
35
35
|
'flip_rl': False,
|
|
@@ -49,7 +49,7 @@ async def test_initialized_trainer():
|
|
|
49
49
|
trainer._node = node
|
|
50
50
|
trainer._init_new_training(context=Context(organization='zauberzeug', project='demo'),
|
|
51
51
|
details={'categories': [],
|
|
52
|
-
'id': '
|
|
52
|
+
'id': '00000000-0000-0000-0000-000000000012', # version 1.2 of demo project
|
|
53
53
|
'training_number': 0,
|
|
54
54
|
'resolution': 800,
|
|
55
55
|
'flip_rl': False,
|
|
@@ -14,11 +14,11 @@ def trainer_has_error(trainer: TrainerLogic):
|
|
|
14
14
|
return trainer.errors.has_error_for(error_key)
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
async def test_successful_detecting(test_initialized_trainer: TestingTrainerLogic):
|
|
17
|
+
async def test_successful_detecting(test_initialized_trainer: TestingTrainerLogic):
|
|
18
18
|
trainer = test_initialized_trainer
|
|
19
19
|
create_active_training_file(trainer, training_state='train_model_uploaded',
|
|
20
|
-
model_uuid_for_detecting='
|
|
21
|
-
|
|
20
|
+
model_uuid_for_detecting='00000000-0000-0000-0000-000000000011') # NOTE: this is the hard coded model uuid for zauberzeug/demo (model version 1.1)
|
|
21
|
+
|
|
22
22
|
_ = asyncio.get_running_loop().create_task(
|
|
23
23
|
trainer._perform_state('do_detections', TrainerState.Detecting, TrainerState.Detected, trainer._do_detections))
|
|
24
24
|
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/annotation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/general.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_classes/training.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/data_exchanger.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/__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
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/outbox.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/about.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/detect.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/rest/upload.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/detector/tests/test.jpg
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.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/helpers/log_conf.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/loop_communication.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_downloader.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/tests/test_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/__init__.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/downloader.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/io_helpers.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/rest/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/rest/controls.py
RENAMED
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/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
|
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/trainer_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_loop_node-0.10.5 → learning_loop_node-0.10.6}/learning_loop_node/trainer/trainer_node.py
RENAMED
|
File without changes
|