aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/core/metadata.py
diff options
context:
space:
mode:
authorRuomei Yan <ruomei.yan@arm.com>2022-12-13 22:02:21 +0000
committerRuomei Yan <ruomei.yan@arm.com>2023-01-16 16:31:23 +0000
commit4eb3fef8e5876c69dc6bac70fdc010805d5b97f2 (patch)
tree88beca8a30954f020b7f34c0a3f9df780b966244 /src/mlia/core/metadata.py
parent5800fc990ed1e36ce7d06670f911fbb12a0ec771 (diff)
downloadmlia-4eb3fef8e5876c69dc6bac70fdc010805d5b97f2.tar.gz
MLIA-741/2 Report test results
- add version extraction function in compat.py - create Metadata, MLIAMetadata, TOSAMetadata and MetadataDisplay classes - update the reporting functions so tosa and mlia version will be displayed in output json - update unit test test_configure_and_get_tosa_advisor to mock the get_events function - update the copyright information of all changed/added files - handle exception and report to json when program crashes - write new context managers for capturing stderr and stdout - support reporting stderr to json output - support reporting model checksum and model name to json output - made changes in test_e2e.py handling {model_name} replacement in --output - add unit tests Change-Id: I6629fd1c5754378e6accd488217c83d87c7eb6f1
Diffstat (limited to 'src/mlia/core/metadata.py')
-rw-r--r--src/mlia/core/metadata.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mlia/core/metadata.py b/src/mlia/core/metadata.py
new file mode 100644
index 0000000..f0a0e03
--- /dev/null
+++ b/src/mlia/core/metadata.py
@@ -0,0 +1,37 @@
+# SPDX-FileCopyrightText: Copyright 2023, Arm Limited and/or its affiliates.
+# SPDX-License-Identifier: Apache-2.0
+"""Classes for metadata."""
+from pathlib import Path
+
+from mlia.utils.misc import get_file_checksum
+from mlia.utils.misc import get_pkg_version
+
+
+class Metadata: # pylint: disable=too-few-public-methods
+ """Base class metadata."""
+
+ def __init__(self, data_name: str) -> None:
+ """Init Metadata."""
+ self.version = self.get_version(data_name)
+
+ def get_version(self, data_name: str) -> str:
+ """Get version of the python package."""
+ return get_pkg_version(data_name)
+
+
+class MLIAMetadata(Metadata): # pylint: disable=too-few-public-methods
+ """MLIA metadata."""
+
+
+class ModelMetadata: # pylint: disable=too-few-public-methods
+ """Model metadata."""
+
+ def __init__(self, path_name: Path) -> None:
+ """Init ModelMetadata."""
+ self.model_name = path_name.name
+ self.path_name = path_name
+ self.checksum = self.get_checksum()
+
+ def get_checksum(self) -> str:
+ """Get checksum of the model."""
+ return get_file_checksum(self.path_name)