7 #include <boost/test/unit_test.hpp> 9 #include <boost/variant.hpp> 18 const std::map<std::string, std::string> GetValidationLabelSet()
20 std::map<std::string, std::string> validationLabelSet;
21 validationLabelSet.insert(std::make_pair(
"val_01.JPEG",
"goldfinch"));
22 validationLabelSet.insert(std::make_pair(
"val_02.JPEG",
"magpie"));
23 validationLabelSet.insert(std::make_pair(
"val_03.JPEG",
"brambling"));
24 validationLabelSet.insert(std::make_pair(
"val_04.JPEG",
"robin"));
25 validationLabelSet.insert(std::make_pair(
"val_05.JPEG",
"indigo bird"));
26 validationLabelSet.insert(std::make_pair(
"val_06.JPEG",
"ostrich"));
27 validationLabelSet.insert(std::make_pair(
"val_07.JPEG",
"jay"));
28 validationLabelSet.insert(std::make_pair(
"val_08.JPEG",
"snowbird"));
29 validationLabelSet.insert(std::make_pair(
"val_09.JPEG",
"house finch"));
30 validationLabelSet.insert(std::make_pair(
"val_09.JPEG",
"bulbul"));
32 return validationLabelSet;
34 const std::vector<armnnUtils::LabelCategoryNames> GetModelOutputLabels()
36 const std::vector<armnnUtils::LabelCategoryNames> modelOutputLabels =
38 {
"ostrich",
"Struthio camelus"},
39 {
"brambling",
"Fringilla montifringilla"},
40 {
"goldfinch",
"Carduelis carduelis"},
41 {
"house finch",
"linnet",
"Carpodacus mexicanus"},
42 {
"junco",
"snowbird"},
43 {
"indigo bunting",
"indigo finch",
"indigo bird",
"Passerina cyanea"},
44 {
"robin",
"American robin",
"Turdus migratorius"},
49 return modelOutputLabels;
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 BOOST_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 BOOST_CHECK(totalAccuracy == 50.0f);
90 BOOST_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 BOOST_CHECK(totalAccuracy == 33.3333321f);
107 BOOST_CHECK(totalAccuracy == 66.6666641f);
111 BOOST_CHECK(totalAccuracy == 100.0f);
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
BOOST_FIXTURE_TEST_CASE(TestFloat32OutputTensorAccuracy, TestHelper)
float GetAccuracy(unsigned int k)
Get Top K accuracy.
void AddImageResult(const std::string &imageName, std::vector< TContainer > outputTensor)
Record the prediction result of an image.
boost::variant< std::vector< float >, std::vector< int >, std::vector< unsigned char > > TContainer
BOOST_AUTO_TEST_SUITE_END()