learning-loop-node 0.10.3__tar.gz → 0.10.4__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.

Files changed (85) hide show
  1. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/PKG-INFO +1 -1
  2. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/detector_node.py +4 -1
  3. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/pyproject.toml +1 -1
  4. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/README.md +0 -0
  5. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/__init__.py +0 -0
  6. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/annotation/__init__.py +0 -0
  7. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/annotation/annotator_logic.py +0 -0
  8. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/annotation/annotator_node.py +0 -0
  9. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/annotation/tests/test_annotator_node.py +0 -0
  10. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/conftest.py +0 -0
  11. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/__init__.py +0 -0
  12. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/annotations.py +0 -0
  13. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/detections.py +0 -0
  14. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/general.py +0 -0
  15. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/socket_response.py +0 -0
  16. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_classes/training.py +0 -0
  17. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/data_exchanger.py +0 -0
  18. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/__init__.py +0 -0
  19. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/detector_logic.py +0 -0
  20. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/__init__.py +0 -0
  21. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/cam_observation_history.py +0 -0
  22. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/relevance_filter.py +0 -0
  23. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/tests/test_observation.py +0 -0
  24. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/tests/test_relevance_group.py +0 -0
  25. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/inbox_filter/tests/test_unexpected_observations_count.py +0 -0
  26. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/outbox.py +0 -0
  27. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/__init__.py +0 -0
  28. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/about.py +0 -0
  29. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/backdoor_controls.py +0 -0
  30. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/detect.py +0 -0
  31. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/operation_mode.py +0 -0
  32. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/rest/upload.py +0 -0
  33. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/__init__.py +0 -0
  34. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/conftest.py +0 -0
  35. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/test.jpg +0 -0
  36. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/test_client_communication.py +0 -0
  37. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/test_outbox.py +0 -0
  38. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/test_relevance_filter.py +0 -0
  39. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/detector/tests/testing_detector.py +0 -0
  40. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/examples/novelty_score_updater.py +0 -0
  41. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/globals.py +0 -0
  42. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/helpers/__init__.py +0 -0
  43. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/helpers/environment_reader.py +0 -0
  44. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/helpers/gdrive_downloader.py +0 -0
  45. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/helpers/log_conf.py +0 -0
  46. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/helpers/misc.py +0 -0
  47. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/loop_communication.py +0 -0
  48. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/node.py +0 -0
  49. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/py.typed +0 -0
  50. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/pytest.ini +0 -0
  51. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/__init__.py +0 -0
  52. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/conftest.py +0 -0
  53. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_data/file_1.txt +0 -0
  54. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_data/file_2.txt +0 -0
  55. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_data/model.json +0 -0
  56. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_data_classes.py +0 -0
  57. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_downloader.py +0 -0
  58. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_executor.py +0 -0
  59. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_helper.py +0 -0
  60. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/tests/test_learning_loop_node.py +0 -0
  61. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/__init__.py +0 -0
  62. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/downloader.py +0 -0
  63. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/executor.py +0 -0
  64. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/io_helpers.py +0 -0
  65. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/rest/__init__.py +0 -0
  66. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/rest/backdoor_controls.py +0 -0
  67. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/rest/controls.py +0 -0
  68. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/__init__.py +0 -0
  69. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/conftest.py +0 -0
  70. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/state_helper.py +0 -0
  71. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/__init__.py +0 -0
  72. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_cleanup.py +0 -0
  73. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_detecting.py +0 -0
  74. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_download_train_model.py +0 -0
  75. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_prepare.py +0 -0
  76. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_sync_confusion_matrix.py +0 -0
  77. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_train.py +0 -0
  78. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_upload_detections.py +0 -0
  79. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/states/test_state_upload_model.py +0 -0
  80. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/test_errors.py +0 -0
  81. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/test_trainer_states.py +0 -0
  82. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/tests/testing_trainer_logic.py +0 -0
  83. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/trainer_logic.py +0 -0
  84. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/trainer_logic_generic.py +0 -0
  85. {learning_loop_node-0.10.3 → learning_loop_node-0.10.4}/learning_loop_node/trainer/trainer_node.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: learning-loop-node
3
- Version: 0.10.3
3
+ Version: 0.10.4
4
4
  Summary: Python Library for Nodes which connect to the Zauberzeug Learning Loop
5
5
  Home-page: https://github.com/zauberzeug/learning_loop_node
6
6
  License: MIT
@@ -43,6 +43,8 @@ class DetectorNode(Node):
43
43
  self.operation_mode: OperationMode = OperationMode.Startup
44
44
  self.connected_clients: List[str] = []
45
45
 
46
+ self.detection_lock = asyncio.Lock()
47
+
46
48
  self.outbox: Outbox = Outbox()
47
49
  self.data_exchanger = DataExchanger(
48
50
  Context(organization=self.organization, project=self.project),
@@ -300,8 +302,9 @@ class DetectorNode(Node):
300
302
  """Note: raw_image is a numpy array of type uint8, but not in the correrct shape!
301
303
  It can be converted e.g. using cv2.imdecode(raw_image, cv2.IMREAD_COLOR)"""
302
304
  loop = asyncio.get_event_loop()
305
+ await self.detection_lock.acquire()
303
306
  detections: Detections = await loop.run_in_executor(None, self.detector_logic.evaluate, raw_image)
304
-
307
+ self.detection_lock.release()
305
308
  for seg_detection in detections.segmentation_detections:
306
309
  if isinstance(seg_detection.shape, Shape):
307
310
  shapes = ','.join([str(value) for p in seg_detection.shape.points for _,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "learning_loop_node"
3
- version = "v0.10.3"
3
+ version = "v0.10.4"
4
4
  description = "Python Library for Nodes which connect to the Zauberzeug Learning Loop"
5
5
  authors = ["Zauberzeug GmbH <info@zauberzeug.com>"]
6
6
  license = "MIT"