dataeval 1.1.1__tar.gz → 1.1.2__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.
- {dataeval-1.1.1 → dataeval-1.1.2}/PKG-INFO +1 -1
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_version.py +2 -2
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/models/_backends.py +22 -12
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/models/_predictors.py +4 -4
- {dataeval-1.1.1 → dataeval-1.1.2}/.gitignore +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/LICENSE +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/README.md +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/pyproject.toml +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_embeddings.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_experimental.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_helpers.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_log.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_aggregate.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_columns.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_deprecated.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_encoding.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_entry_legacy.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_filters.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_input.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_keyed.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_links.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_loading.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_metadata.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_serialize.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_store.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_accumulator.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_base.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_block.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_classification.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_data.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_dataset.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_detection.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_factors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_frames.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_gather.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_instances.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_layout.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_ordering.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_propagation.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_reporting.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_reserved.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_select.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_source_index.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_metadata/_structurers/_tracking.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/_ontology.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/bias/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/bias/_balance.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/bias/_diversity.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/bias/_parity.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/config.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_ber.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_bin.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_base.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_cache.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_dimensionstats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_hashstats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_pixelstats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_register.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_registry.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_calculators/_visualstats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_clusterer.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_completeness.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_compute_ratios.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_compute_stats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_coverage.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_divergence.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_diversity.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_fast_hdbscan/_cluster_trees.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_fast_hdbscan/_disjoint_set.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_fast_hdbscan/_mst.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_feature_distance.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_hash.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_alignment.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_coverage.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_errors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_parity.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_reconciliation.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_label_stats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_metadata_insights.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_mst.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_mutual_info.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_nullmodel.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_ontology_validation.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_parity.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_rank.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_track_stats.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/core/_uap.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_classbalance.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_classfilter.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_crop.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_crops.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_geometry.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_indices.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_invalidates.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_limit.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_merge.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_relabel.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_resize.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_reverse.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_selectchannels.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_shuffle.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_split.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_torchvision.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_tracks.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_unzip.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/data/_view.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/exceptions.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_bovw.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_flatten.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_geometry.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_onnx.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_scores.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_torch.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/extractors/_uncertainty.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/flags.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/models/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/models/_input.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/models/_metadata.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/performance/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/performance/_aggregator.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/performance/_output.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/performance/_sufficiency.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/performance/schedules.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/protocols.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/py.typed +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/quality/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/quality/_duplicates.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/quality/_outliers.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/quality/_shared.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/scope/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/scope/_coverage.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/scope/_prioritize.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/scope/_representation.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/selection/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_base.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_chunk.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_domain_classifier.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_kneighbors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_mmd.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_reconstruction.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_univariate.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_drift/_wasserstein.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_ood/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_ood/_base.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_ood/_domain_classifier.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_ood/_kneighbors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_ood/_reconstruction.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_shared/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_shared/_domain_classifier.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_shared/_kneighbors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/_shared/_reconstruction.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/shift/update_strategies.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_array.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_config.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_evaluator.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_execution.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_factors.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_index.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_ontology.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_output.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_schema.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/types/_track.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/__init__.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/_internal.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/_validate.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/data.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/losses.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/models.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/onnx.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/preprocessing.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/thresholds.py +0 -0
- {dataeval-1.1.1 → dataeval-1.1.2}/src/dataeval/utils/training.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: dataeval
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: DataEval provides a simple interface to characterize image data and its impact on model performance across classification and object-detection tasks
|
|
5
5
|
Project-URL: Homepage, https://dataeval.ai/
|
|
6
6
|
Project-URL: Repository, https://github.com/aria-ml/dataeval/
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.1.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 1,
|
|
21
|
+
__version__ = version = '1.1.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 1, 2)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
__all__ = ["RuntimeBackend", "OnnxBackend", "LiteRtBackend", "make_backend"]
|
|
4
4
|
|
|
5
|
+
from importlib import import_module
|
|
5
6
|
from pathlib import Path
|
|
6
7
|
from typing import Any, Protocol, runtime_checkable
|
|
7
8
|
|
|
@@ -93,25 +94,34 @@ class OnnxBackend:
|
|
|
93
94
|
return {name: np.asarray(arr) for name, arr in zip(self.output_names, outputs, strict=True)}
|
|
94
95
|
|
|
95
96
|
|
|
97
|
+
#: Interpreter providers tried in order. `ai_edge_litert` is what `dataeval[litert]`
|
|
98
|
+
#: installs and is the supported successor to the standalone `tflite_runtime` wheel;
|
|
99
|
+
#: the other two stay as fallbacks for environments that already carry them.
|
|
100
|
+
_LITERT_MODULES = ("ai_edge_litert.interpreter", "tflite_runtime.interpreter", "tensorflow.lite")
|
|
101
|
+
|
|
102
|
+
|
|
96
103
|
def _litert_interpreter(model_path: str | Path) -> Any:
|
|
97
|
-
|
|
98
|
-
from tflite_runtime.interpreter import Interpreter
|
|
99
|
-
except ImportError:
|
|
104
|
+
for module_name in _LITERT_MODULES:
|
|
100
105
|
try:
|
|
101
|
-
|
|
102
|
-
except ImportError
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
interpreter = import_module(module_name).Interpreter
|
|
107
|
+
except ImportError:
|
|
108
|
+
continue
|
|
109
|
+
return interpreter(model_path=str(model_path))
|
|
110
|
+
raise ImportError(
|
|
111
|
+
"LiteRtBackend requires a LiteRT interpreter, which is not installed. "
|
|
112
|
+
"Install it with: pip install 'dataeval[litert]' (or provide tflite-runtime or tensorflow)."
|
|
113
|
+
)
|
|
105
114
|
|
|
106
115
|
|
|
107
116
|
class LiteRtBackend:
|
|
108
117
|
"""
|
|
109
118
|
LiteRT (TensorFlow Lite) backend with NCHW input.
|
|
110
119
|
|
|
111
|
-
Loads a ``.tflite`` model via a LiteRT interpreter (``
|
|
112
|
-
available, else ``tensorflow.lite``). Accepts NCHW input
|
|
113
|
-
NHWC layout LiteRT expects internally, resizing the
|
|
114
|
-
per batch. Implements :class:`RuntimeBackend`.
|
|
120
|
+
Loads a ``.tflite`` model via a LiteRT interpreter (``ai-edge-litert`` if
|
|
121
|
+
available, else ``tflite-runtime`` or ``tensorflow.lite``). Accepts NCHW input
|
|
122
|
+
and transposes to the NHWC layout LiteRT expects internally, resizing the
|
|
123
|
+
interpreter's input tensor per batch. Implements :class:`RuntimeBackend`.
|
|
124
|
+
Requires ``dataeval[litert]``.
|
|
115
125
|
|
|
116
126
|
Parameters
|
|
117
127
|
----------
|
|
@@ -121,7 +131,7 @@ class LiteRtBackend:
|
|
|
121
131
|
Raises
|
|
122
132
|
------
|
|
123
133
|
ImportError
|
|
124
|
-
If
|
|
134
|
+
If no LiteRT interpreter is available.
|
|
125
135
|
FileNotFoundError
|
|
126
136
|
If ``model_path`` does not exist.
|
|
127
137
|
"""
|
|
@@ -184,7 +184,7 @@ class LiteRtImageClassifier(_BaseImageClassifier):
|
|
|
184
184
|
of CHW images to per-image class scores. Calling the instance preprocesses each
|
|
185
185
|
image to the model's input contract (color layout, size, ``[0, 1]``
|
|
186
186
|
normalization), runs inference, and returns one ``(nClasses,)`` float32 score
|
|
187
|
-
array per image. Requires ``dataeval[
|
|
187
|
+
array per image. Requires ``dataeval[litert]``.
|
|
188
188
|
|
|
189
189
|
Parameters
|
|
190
190
|
----------
|
|
@@ -205,7 +205,7 @@ class LiteRtImageClassifier(_BaseImageClassifier):
|
|
|
205
205
|
ValueError
|
|
206
206
|
If the metadata declares a task other than ``IMAGE_CLASSIFICATION``.
|
|
207
207
|
ImportError
|
|
208
|
-
If
|
|
208
|
+
If no LiteRT interpreter is available.
|
|
209
209
|
FileNotFoundError
|
|
210
210
|
If ``model_path`` does not exist.
|
|
211
211
|
|
|
@@ -413,7 +413,7 @@ class LiteRtObjectDetector(_BaseObjectDetector):
|
|
|
413
413
|
to per-image detection targets. Calling the instance preprocesses each image to
|
|
414
414
|
the model's input contract (color layout, size, ``[0, 1]`` normalization), runs
|
|
415
415
|
inference, and returns one detection target per image. Requires
|
|
416
|
-
``dataeval[
|
|
416
|
+
``dataeval[litert]``.
|
|
417
417
|
|
|
418
418
|
Parameters
|
|
419
419
|
----------
|
|
@@ -436,7 +436,7 @@ class LiteRtObjectDetector(_BaseObjectDetector):
|
|
|
436
436
|
ValueError
|
|
437
437
|
If the metadata declares a task other than ``IMAGE_OBJECT_DETECTION``.
|
|
438
438
|
ImportError
|
|
439
|
-
If
|
|
439
|
+
If no LiteRT interpreter is available.
|
|
440
440
|
FileNotFoundError
|
|
441
441
|
If ``model_path`` does not exist.
|
|
442
442
|
|
|
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
|
|
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
|
|
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
|