// // Copyright © 2017 Arm Ltd. All rights reserved. // See LICENSE file in the project root for full license information. // #pragma once #include "ClassifierTestCaseData.hpp" #include #include #include #include using ImageSet = std::pair; class ImageNetDatabase { public: using TTestCaseData = ClassifierTestCaseData; explicit ImageNetDatabase(const std::string& binaryFileDirectory, unsigned int width = 227, unsigned int height = 227, const std::vector& imageSet = std::vector()); std::unique_ptr GetTestCaseData(unsigned int testCaseId); private: unsigned int GetNumImageElements() const { return 3 * m_Width * m_Height; } unsigned int GetNumImageBytes() const { return 4 * GetNumImageElements(); } std::string m_BinaryDirectory; unsigned int m_Height; unsigned int m_Width; //mean value of the database [B, G, R] const std::array m_MeanBgr = {{104.007965f, 116.669472f, 122.675102f}}; const std::vector m_ImageSet; };