ArmNN
 21.08
TfLiteMobilenetV2Quantized-Armnn.cpp File Reference

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 11 of file TfLiteMobilenetV2Quantized-Armnn.cpp.

References armnn::test::ClassifierInferenceTestMain().

12 {
13  int retVal = EXIT_FAILURE;
14  try
15  {
16  // Coverity fix: The following code may throw an exception of type std::length_error.
17  std::vector<ImageSet> imageSet =
18  {
19  {"Dog.jpg", 209},
20  {"Cat.jpg", 283},
21  {"shark.jpg", 3},
22  };
23 
24  armnn::TensorShape inputTensorShape({ 1, 224, 224, 3 });
25 
26  using DataType = uint8_t;
27  using DatabaseType = ImagePreprocessor<DataType>;
28  using ParserType = armnnTfLiteParser::ITfLiteParser;
29  using ModelType = InferenceModel<ParserType, DataType>;
30 
31  // Coverity fix: ClassifierInferenceTestMain() may throw uncaught exceptions.
32  retVal = armnn::test::ClassifierInferenceTestMain<DatabaseType,
33  ParserType>(
34  argc, argv,
35  "mobilenet_v2_1.0_224_quant.tflite", // model name
36  true, // model is binary
37  "input", // input tensor name
38  "output", // output tensor name
39  { 0, 1, 2 }, // test images to test with as above
40  [&imageSet](const char* dataDir, const ModelType &) {
41  // we need to get the input quantization parameters from
42  // the parsed model
43  return DatabaseType(
44  dataDir,
45  224,
46  224,
47  imageSet,
48  1);
49  },
50  &inputTensorShape);
51  }
52  catch (const std::exception& e)
53  {
54  // Coverity fix: BOOST_LOG_TRIVIAL (typically used to report errors) may throw an
55  // exception of type std::length_error.
56  // Using stderr instead in this context as there is no point in nesting try-catch blocks here.
57  std::cerr << "WARNING: " << *argv << ": An error has occurred when running "
58  "the classifier inference tests: " << e.what() << std::endl;
59  }
60  return retVal;
61 }
DataType
Definition: Types.hpp:35
int ClassifierInferenceTestMain(int argc, char *argv[], const char *modelFilename, bool isModelBinary, const char *inputBindingName, const char *outputBindingName, const std::vector< unsigned int > &defaultTestCaseIds, TConstructDatabaseCallable constructDatabase, const armnn::TensorShape *inputTensorShape=nullptr)