17 const std::vector<LabelCategoryNames>& modelOutputLabels)
18 : m_GroundTruthLabelSet(validationLabels)
19 , m_ModelOutputLabels(modelOutputLabels)
26 ARMNN_LOG(
warning) <<
"Accuracy Tool only supports a maximum of Top 10 Accuracy. " 27 "Printing Top 10 Accuracy result!";
30 unsigned int total = 0;
31 for (
unsigned int i = k; i > 0; --i)
35 return static_cast<float>(total * 100) / static_cast<float>(m_ImagesProcessed);
39 std::vector<std::string>
40 SplitBy(
const std::string& originalString,
const std::string& delimiter,
bool includeEmptyToken)
42 std::vector<std::string> tokens;
45 while ((next = originalString.find(delimiter, cur)) != std::string::npos)
48 if (next - cur > 0 || includeEmptyToken)
50 tokens.push_back(originalString.substr(cur, next - cur));
52 cur = next + delimiter.size();
56 if (originalString.size() - cur > 0 || includeEmptyToken)
58 tokens.push_back(originalString.substr(cur, originalString.size() - cur));
64 std::string
Strip(
const std::string& originalString,
const std::string& characterSet)
67 const std::size_t firstFound = originalString.find_first_not_of(characterSet);
68 const std::size_t lastFound = originalString.find_last_not_of(characterSet);
70 if (firstFound == std::string::npos || lastFound == std::string::npos)
74 return originalString.substr(firstFound, lastFound + 1 - firstFound);
ModelAccuracyChecker(const std::map< std::string, std::string > &validationLabelSet, const std::vector< LabelCategoryNames > &modelOutputLabels)
Constructor for a model top k accuracy checker.
float GetAccuracy(unsigned int k)
Get Top K accuracy.
#define ARMNN_LOG(severity)
std::string Strip(const std::string &originalString, const std::string &characterSet)
Remove any preceding and trailing character specified in the characterSet.
std::vector< std::string > SplitBy(const std::string &originalString, const std::string &delimiter, bool includeEmptyToken)
Split a string into tokens by a delimiter.
#define ARMNN_ASSERT(COND)