7 #include <doctest/doctest.h> 17 const std::map<std::string, std::string> GetValidationLabelSet()
19 std::map<std::string, std::string> validationLabelSet;
20 validationLabelSet.insert(std::make_pair(
"val_01.JPEG",
"goldfinch"));
21 validationLabelSet.insert(std::make_pair(
"val_02.JPEG",
"magpie"));
22 validationLabelSet.insert(std::make_pair(
"val_03.JPEG",
"brambling"));
23 validationLabelSet.insert(std::make_pair(
"val_04.JPEG",
"robin"));
24 validationLabelSet.insert(std::make_pair(
"val_05.JPEG",
"indigo bird"));
25 validationLabelSet.insert(std::make_pair(
"val_06.JPEG",
"ostrich"));
26 validationLabelSet.insert(std::make_pair(
"val_07.JPEG",
"jay"));
27 validationLabelSet.insert(std::make_pair(
"val_08.JPEG",
"snowbird"));
28 validationLabelSet.insert(std::make_pair(
"val_09.JPEG",
"house finch"));
29 validationLabelSet.insert(std::make_pair(
"val_09.JPEG",
"bulbul"));
31 return validationLabelSet;
33 const std::vector<armnnUtils::LabelCategoryNames> GetModelOutputLabels()
35 const std::vector<armnnUtils::LabelCategoryNames> modelOutputLabels =
37 {
"ostrich",
"Struthio camelus"},
38 {
"brambling",
"Fringilla montifringilla"},
39 {
"goldfinch",
"Carduelis carduelis"},
40 {
"house finch",
"linnet",
"Carpodacus mexicanus"},
41 {
"junco",
"snowbird"},
42 {
"indigo bunting",
"indigo finch",
"indigo bird",
"Passerina cyanea"},
43 {
"robin",
"American robin",
"Turdus migratorius"},
48 return modelOutputLabels;
56 mapbox::util::variant<std::vector<float>, std::vector<int>, std::vector<unsigned char>, std::vector<int8_t>>;
63 std::vector<float> inferenceOutputVector1 = {0.05f, 0.10f, 0.70f, 0.15f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
64 TContainer inference1Container(inferenceOutputVector1);
65 std::vector<TContainer> outputTensor1;
66 outputTensor1.push_back(inference1Container);
68 std::string imageName =
"val_01.JPEG";
73 CHECK(totalAccuracy == 100.0f);
76 std::vector<float> inferenceOutputVector2 = {0.10f, 0.0f, 0.0f, 0.0f, 0.05f, 0.70f, 0.0f, 0.0f, 0.0f, 0.15f};
77 TContainer inference2Container(inferenceOutputVector2);
78 std::vector<TContainer> outputTensor2;
79 outputTensor2.push_back(inference2Container);
81 imageName =
"val_02.JPEG";
86 CHECK(totalAccuracy == 50.0f);
90 CHECK(totalAccuracy == 100.0f);
93 std::vector<float> inferenceOutputVector3 = {0.0f, 0.10f, 0.0f, 0.0f, 0.05f, 0.70f, 0.0f, 0.0f, 0.0f, 0.15f};
94 TContainer inference3Container(inferenceOutputVector3);
95 std::vector<TContainer> outputTensor3;
96 outputTensor3.push_back(inference3Container);
98 imageName =
"val_03.JPEG";
103 CHECK(totalAccuracy == 33.3333321f);
107 CHECK(totalAccuracy == 66.6666641f);
111 CHECK(totalAccuracy == 100.0f);
float GetAccuracy(unsigned int k)
Get Top K accuracy.
TEST_SUITE("ModelAccuracyCheckerTest")
void AddImageResult(const std::string &imageName, std::vector< TContainer > outputTensor)
Record the prediction result of an image.
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
mapbox::util::variant< std::vector< float >, std::vector< int >, std::vector< unsigned char >, std::vector< int8_t > > TContainer