diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2023-10-24 14:45:12 +0100 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2023-10-25 17:47:09 +0000 |
commit | fc5e34e41afc07ea5ed03e3c5d4b5be92bef7fd7 (patch) | |
tree | cbb2556e96ddf1e53dff888e54e76586f46e00fc /reference_model/src/verify/verify_utils.cc | |
parent | fd8c8fe887d49223b4d4c66d38e79d6e4c648fef (diff) | |
download | reference_model-fc5e34e41afc07ea5ed03e3c5d4b5be92bef7fd7.tar.gz |
Improve verfiy and generate library validation
Improved libraries validation to catch unknown values.
Improved verify output to match generate library.
Refactored generate tests to use less code duplication.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I9c38745fbc8e70f46c19ddae6c62ee248d33b5f1
Diffstat (limited to 'reference_model/src/verify/verify_utils.cc')
-rw-r--r-- | reference_model/src/verify/verify_utils.cc | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/reference_model/src/verify/verify_utils.cc b/reference_model/src/verify/verify_utils.cc index 366238b..ee11c41 100644 --- a/reference_model/src/verify/verify_utils.cc +++ b/reference_model/src/verify/verify_utils.cc @@ -25,6 +25,7 @@ namespace tosa NLOHMANN_JSON_SERIALIZE_ENUM(DType, { + { DType::DType_UNKNOWN, "UNKNOWN" }, { DType::DType_BOOL, "BOOL" }, { DType::DType_INT4, "INT4" }, { DType::DType_INT8, "INT8" }, @@ -43,6 +44,7 @@ namespace TosaReference NLOHMANN_JSON_SERIALIZE_ENUM(VerifyMode, { + { VerifyMode::Unknown, "UNKNOWN" }, { VerifyMode::Exact, "EXACT" }, { VerifyMode::Ulp, "ULP" }, { VerifyMode::DotProduct, "DOT_PRODUCT" }, @@ -94,14 +96,23 @@ std::optional<VerifyConfig> parseVerifyConfig(const char* tensorName, const char auto jsonCfg = nlohmann::json::parse(json, nullptr, /* allow exceptions */ false); if (jsonCfg.is_discarded()) + { + WARNING("[Verifier] Invalid json config."); return std::nullopt; + } if (!jsonCfg.contains("tensors")) + { + WARNING("[Verifier] Missing tensors in json config."); return std::nullopt; + } const auto& tensors = jsonCfg["tensors"]; if (!tensors.contains(tensorName)) - return std::nullopt; - + if (!tensors.contains(tensorName)) + { + WARNING("[Verifier] Missing tensor %s in json config.", tensorName); + return std::nullopt; + } const auto& namedTensor = tensors[tensorName]; return namedTensor.get<VerifyConfig>(); } |