ArmNN
 20.05
YoloDatabase Class Reference

#include <YoloDatabase.hpp>

Public Types

using TTestCaseData = YoloTestCaseData
 

Public Member Functions

 YoloDatabase (const std::string &imageDir)
 
std::unique_ptr< TTestCaseDataGetTestCaseData (unsigned int testCaseId)
 

Detailed Description

Definition at line 53 of file YoloDatabase.hpp.

Member Typedef Documentation

◆ TTestCaseData

Definition at line 56 of file YoloDatabase.hpp.

Constructor & Destructor Documentation

◆ YoloDatabase()

YoloDatabase ( const std::string &  imageDir)
explicit

Definition at line 69 of file YoloDatabase.cpp.

70  : m_ImageDir(imageDir)
71 {
72 }

Member Function Documentation

◆ GetTestCaseData()

std::unique_ptr< YoloDatabase::TTestCaseData > GetTestCaseData ( unsigned int  testCaseId)

Definition at line 74 of file YoloDatabase.cpp.

References ARMNN_LOG, CHECK_LOCATION, GetImageDataInArmNnLayoutAsNormalizedFloats(), armnn::numeric_cast(), InferenceTestImage::Resize(), Rgb, Exception::what(), YoloImageHeight, and YoloImageWidth.

75 {
76  testCaseId = testCaseId % boost::numeric_cast<unsigned int>(g_PerTestCaseInputOutput.size());
77  const auto& testCaseInputOutput = g_PerTestCaseInputOutput[testCaseId];
78  const std::string imagePath = m_ImageDir + testCaseInputOutput.first;
79 
80  // Loads test case input image.
81  std::vector<float> imageData;
82  try
83  {
84  InferenceTestImage image(imagePath.c_str());
85  if (YoloImageWidth != image.GetWidth() || YoloImageHeight != image.GetHeight())
86  {
88  }
90  }
91  catch (const InferenceTestImageException& e)
92  {
93  ARMNN_LOG(fatal) << "Failed to load test case " << testCaseId << " with error: " << e.what();
94  return nullptr;
95  }
96 
97  // Prepares test case output.
98  std::vector<YoloDetectedObject> topObjectDetections;
99  topObjectDetections.reserve(1);
100  topObjectDetections.push_back(testCaseInputOutput.second);
101 
102  return std::make_unique<YoloTestCaseData>(std::move(imageData), std::move(topObjectDetections));
103 }
constexpr unsigned int YoloImageHeight
virtual const char * what() const noexcept override
Definition: Exceptions.cpp:32
#define ARMNN_LOG(severity)
Definition: Logging.hpp:163
std::vector< float > GetImageDataInArmNnLayoutAsNormalizedFloats(ImageChannelLayout layout, const InferenceTestImage &image)
std::enable_if_t< std::is_unsigned< Source >::value &&std::is_unsigned< Dest >::value, Dest > numeric_cast(Source source)
Definition: NumericCast.hpp:33
#define CHECK_LOCATION()
Definition: Exceptions.hpp:192
constexpr unsigned int YoloImageWidth
std::vector< float > Resize(unsigned int newWidth, unsigned int newHeight, const armnn::CheckLocation &location, const ResizingMethods meth=ResizingMethods::STB, const std::array< float, 3 > &mean={{0.0, 0.0, 0.0}}, const std::array< float, 3 > &stddev={{1.0, 1.0, 1.0}}, const float scale=255.0f)

The documentation for this class was generated from the following files: