sciveo 0.1.29__tar.gz → 0.1.31__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.
Files changed (132) hide show
  1. {sciveo-0.1.29 → sciveo-0.1.31}/PKG-INFO +1 -1
  2. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/evaluation/object_detection.py +17 -23
  3. sciveo-0.1.31/sciveo/version.py +2 -0
  4. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/PKG-INFO +1 -1
  5. sciveo-0.1.29/sciveo/version.py +0 -2
  6. {sciveo-0.1.29 → sciveo-0.1.31}/README.md +0 -0
  7. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/__init__.py +0 -0
  8. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/api/__init__.py +0 -0
  9. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/api/base.py +0 -0
  10. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/api/upload.py +0 -0
  11. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/cli.py +0 -0
  12. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/common/__init__.py +0 -0
  13. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/common/configuration.py +0 -0
  14. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/common/model.py +0 -0
  15. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/common/optimizers.py +0 -0
  16. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/common/sampling.py +0 -0
  17. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/content/__init__.py +0 -0
  18. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/content/dataset.py +0 -0
  19. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/content/experiment.py +0 -0
  20. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/content/project.py +0 -0
  21. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/content/runner.py +0 -0
  22. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/__init__.py +0 -0
  23. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/__init__.py +0 -0
  24. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/base.py +0 -0
  25. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/encoders/__init__.py +0 -0
  26. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/encoders/base.py +0 -0
  27. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/encoders/normalizer.py +0 -0
  28. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/nlp/__init__.py +0 -0
  29. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/nlp/search.py +0 -0
  30. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/time_series/__init__.py +0 -0
  31. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/time_series/dataset.py +0 -0
  32. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/time_series/predictor.py +0 -0
  33. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/time_series/trainer.py +0 -0
  34. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/ml/time_series/window_generator.py +0 -0
  35. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/__init__.py +0 -0
  36. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/base.py +0 -0
  37. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/job_daemon.py +0 -0
  38. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/layouts/__init__.py +0 -0
  39. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/layouts/base.py +0 -0
  40. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/pipeline.py +0 -0
  41. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
  42. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/base.py +0 -0
  43. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/default.py +0 -0
  44. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/__init__.py +0 -0
  45. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
  46. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
  47. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
  48. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/aws.py +0 -0
  49. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/base.py +0 -0
  50. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
  51. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/file/archive.py +0 -0
  52. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
  53. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/album.py +0 -0
  54. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
  55. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
  56. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
  57. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/filters.py +0 -0
  58. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/generators.py +0 -0
  59. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
  60. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/mask.py +0 -0
  61. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/resize.py +0 -0
  62. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
  63. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
  64. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/media_info.py +0 -0
  65. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
  66. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
  67. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/qr.py +0 -0
  68. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
  69. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/base.py +0 -0
  70. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
  71. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
  72. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
  73. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
  74. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
  75. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
  76. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/generators.py +0 -0
  77. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
  78. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/resize.py +0 -0
  79. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
  80. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
  81. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
  82. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/queues.py +0 -0
  83. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/server.py +0 -0
  84. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/web/__init__.py +0 -0
  85. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/media/pipelines/web/server.py +0 -0
  86. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/__init__.py +0 -0
  87. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/evaluation/__init__.py +0 -0
  88. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/images/__init__.py +0 -0
  89. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/images/object_detection.py +0 -0
  90. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/images/tools.py +0 -0
  91. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/images/transforms.py +0 -0
  92. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/ml/nlp/__init__.py +0 -0
  93. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/monitoring/__init__.py +0 -0
  94. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/monitoring/monitor.py +0 -0
  95. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/monitoring/start.py +0 -0
  96. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/network/__init__.py +0 -0
  97. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/network/camera.py +0 -0
  98. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/network/sniffer.py +0 -0
  99. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/network/tools.py +0 -0
  100. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/__init__.py +0 -0
  101. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/array.py +0 -0
  102. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/aws/__init__.py +0 -0
  103. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/aws/priority_queue.py +0 -0
  104. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/aws/s3.py +0 -0
  105. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/common.py +0 -0
  106. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/compress.py +0 -0
  107. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/configuration.py +0 -0
  108. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/crypto.py +0 -0
  109. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/daemon.py +0 -0
  110. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/formating.py +0 -0
  111. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/hardware.py +0 -0
  112. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/http.py +0 -0
  113. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/logger.py +0 -0
  114. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/os.py +0 -0
  115. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/random.py +0 -0
  116. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/remote.py +0 -0
  117. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/simple_counter.py +0 -0
  118. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/synchronized.py +0 -0
  119. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo/tools/timers.py +0 -0
  120. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/SOURCES.txt +0 -0
  121. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/dependency_links.txt +0 -0
  122. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/entry_points.txt +0 -0
  123. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/requires.txt +0 -0
  124. {sciveo-0.1.29 → sciveo-0.1.31}/sciveo.egg-info/top_level.txt +0 -0
  125. {sciveo-0.1.29 → sciveo-0.1.31}/setup.cfg +0 -0
  126. {sciveo-0.1.29 → sciveo-0.1.31}/setup.py +0 -0
  127. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_compress.py +0 -0
  128. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_configuration.py +0 -0
  129. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_crypto.py +0 -0
  130. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_monitoring.py +0 -0
  131. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_runner.py +0 -0
  132. {sciveo-0.1.29 → sciveo-0.1.31}/test/test_sampling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.29
3
+ Version: 0.1.31
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -31,7 +31,7 @@ class EvalObjectDetection:
31
31
  # Convert from yolo predictions
32
32
  def from_yolo(self):
33
33
  self.converted_predictions = []
34
- for predicted in predictions:
34
+ for predicted in self.predictions:
35
35
  boxes = predicted.boxes
36
36
  class_names = predicted.names
37
37
 
@@ -80,7 +80,7 @@ class EvalObjectDetection:
80
80
  return inter_area / union_area
81
81
 
82
82
  # Compute the Average Precision (AP)
83
- def compute_ap(self, class_name, iou_threshold=0.0):
83
+ def compute_ap(self, class_name, confidence_threshold=0.0):
84
84
  """
85
85
  Calculate the Average Precision based on IoU and confidence scores.
86
86
  Returns the AP for the current class.
@@ -89,7 +89,6 @@ class EvalObjectDetection:
89
89
  count_labels = 0
90
90
  true_positives = []
91
91
  false_positives = []
92
- false_negatives = []
93
92
  detected = []
94
93
 
95
94
  for i, prediction in enumerate(self.converted_predictions):
@@ -97,9 +96,11 @@ class EvalObjectDetection:
97
96
  current_labels = self.converted_labels[i].get(class_name, [])
98
97
 
99
98
  count_labels += len(current_labels)
100
- TP = 0
101
99
 
102
100
  for prediction_box in current_predictions:
101
+ if prediction_box[4] < confidence_threshold:
102
+ continue
103
+
103
104
  max_iou = 0
104
105
  gt_match = None
105
106
 
@@ -109,44 +110,37 @@ class EvalObjectDetection:
109
110
  max_iou = iou
110
111
  gt_match = label_box
111
112
 
112
- if max_iou >= iou_threshold and gt_match not in detected:
113
+ if gt_match is not None and gt_match not in detected:
113
114
  true_positives.append(1)
114
115
  false_positives.append(0)
115
116
  detected.append(gt_match)
116
- TP += 1
117
117
  else:
118
118
  true_positives.append(0)
119
119
  false_positives.append(1)
120
120
 
121
- FN = len(current_labels) - TP
122
- false_negatives.append(FN)
123
-
124
121
  # Convert to cumulative sums
125
122
  tp_cumsum = np.cumsum(true_positives)
126
123
  fp_cumsum = np.cumsum(false_positives)
127
124
 
128
125
  # Compute recall and precision
129
- recall = tp_cumsum / count_labels
130
- precision = tp_cumsum / (tp_cumsum + fp_cumsum)
126
+ recall = tp_cumsum / (count_labels + 1e-20)
127
+ precision = tp_cumsum / (tp_cumsum + fp_cumsum + 1e-20)
131
128
 
132
129
  # Compute AP using the trapezoidal rule (integrating precision over recall)
133
130
  ap = np.trapz(precision, recall)
134
- return ap, np.sum(false_negatives) / count_labels
131
+ return ap
135
132
 
136
- def threshold(self, class_name, max_false_negative):
133
+ def threshold(self, class_name):
137
134
  list_ap = []
138
- list_fn = []
139
135
  list_thresholds = np.linspace(0.0, 1.0, 101).tolist()
140
- for i, iou_threshold in enumerate(list_thresholds):
141
- ap, FN = self.compute_ap(class_name, iou_threshold)
142
- #debug("AP", ap, "FN", FN)
143
- if FN > max_false_negative:
144
- ap = 0.0
136
+ for i, threshold in enumerate(list_thresholds):
137
+ ap = self.compute_ap(class_name, threshold)
145
138
  list_ap.append(ap)
146
- list_fn.append(FN)
139
+ if i % 10 == 0:
140
+ debug(class_name, "threshold", threshold, "ap", ap)
147
141
  idx = list_ap.index(max(list_ap))
148
- debug("Threshold", class_name, list_thresholds[idx], "AP", list_ap[idx], "FN", list_fn[idx])
149
- return list_thresholds[idx], list_ap[idx], list_fn[idx]
142
+ debug("Threshold", class_name, list_thresholds[idx], "AP", list_ap[idx])
143
+ return list_thresholds[idx], list_ap[idx]
150
144
 
151
145
  def evaluate(self, iou_thresholds={"default": 0.0}):
152
146
  """
@@ -155,7 +149,7 @@ class EvalObjectDetection:
155
149
  aps = []
156
150
  class_ap = {}
157
151
  for class_name in self.class_names:
158
- ap, false_negatives = self.compute_ap(class_name, iou_thresholds.get(class_name, iou_thresholds["default"]))
152
+ ap = self.compute_ap(class_name, iou_thresholds.get(class_name, iou_thresholds["default"]))
159
153
  aps.append(ap)
160
154
  class_ap[class_name] = ap
161
155
 
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = '0.1.31'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.29
3
+ Version: 0.1.31
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -1,2 +0,0 @@
1
-
2
- __version__ = '0.1.29'
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
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