summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/cli.py2
-rw-r--r--lib/model.py21
2 files changed, 21 insertions, 2 deletions
diff --git a/lib/cli.py b/lib/cli.py
index e03ef4c..b68f548 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -551,7 +551,7 @@ def add_standard_arguments(parser):
"--export-json",
metavar="FILENAME",
type=str,
- help="Export model in JSON format to FILENAME",
+ help="Export model and error metrics in JSON format to FILENAME",
)
parser.add_argument(
"--load-json",
diff --git a/lib/model.py b/lib/model.py
index 159171c..754c723 100644
--- a/lib/model.py
+++ b/lib/model.py
@@ -669,7 +669,14 @@ class AnalyticModel:
ret[f"xv/{name}/{attr_name}/{k}"] = np.mean(entry[k])
return ret
- def to_json(self, with_by_param=False, **kwargs) -> dict:
+ def to_json(
+ self,
+ with_by_param=False,
+ lut_error=None,
+ static_error=None,
+ model_error=None,
+ **kwargs,
+ ) -> dict:
"""
Return JSON encoding of this AnalyticModel.
"""
@@ -688,6 +695,18 @@ class AnalyticModel:
for name in self.names:
for attr_name, attr in self.attr_by_name[name].items():
ret["name"][name][attr_name] = attr.to_json(**kwargs)
+ if lut_error:
+ ret["name"][name][attr_name]["lutError"] = lut_error[name][
+ attr_name
+ ]
+ if static_error:
+ ret["name"][name][attr_name]["staticError"] = static_error[name][
+ attr_name
+ ]
+ if model_error:
+ ret["name"][name][attr_name]["modelError"] = model_error[name][
+ attr_name
+ ]
attr_name = list(self.attributes(name))[0]
for param_name in self.parameters:
ret["paramValuesbyName"][name][param_name] = self.attr_by_name[name][