sciveo 0.1.30__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.
- {sciveo-0.1.30 → sciveo-0.1.31}/PKG-INFO +1 -1
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/evaluation/object_detection.py +16 -22
- sciveo-0.1.31/sciveo/version.py +2 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.30/sciveo/version.py +0 -2
- {sciveo-0.1.30 → sciveo-0.1.31}/README.md +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/api/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/cli.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/common/model.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/content/project.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/images/transforms.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo/tools/timers.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/setup.cfg +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/setup.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_compress.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_configuration.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_crypto.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_monitoring.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_runner.py +0 -0
- {sciveo-0.1.30 → sciveo-0.1.31}/test/test_sampling.py +0 -0
|
@@ -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,
|
|
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
|
|
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
|
|
131
|
+
return ap
|
|
135
132
|
|
|
136
|
-
def threshold(self, class_name
|
|
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,
|
|
141
|
-
ap
|
|
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
|
-
|
|
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]
|
|
149
|
-
return list_thresholds[idx], list_ap[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
|
|
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
|
|
sciveo-0.1.30/sciveo/version.py
DELETED
|
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
|
|
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
|
{sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/audio/audio_extractor_process.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
|
|
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
|
{sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.30 → sciveo-0.1.31}/sciveo/media/pipelines/processors/sci/time_series/trainer.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
|
|
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
|
|
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
|