// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include std::vector ParseArray(std::istream& stream); /// Splits a given string at every accurance of delimiter into a vector of string std::vector ParseStringList(const std::string& inputString, const char* delimiter); struct TensorPrinter { TensorPrinter(const std::string& binding, const armnn::TensorInfo& info, const std::string& outputTensorFile, bool dequantizeOutput); void operator()(const std::vector& values); void operator()(const std::vector& values); void operator()(const std::vector& values); private: template void ForEachValue(const Container& c, Delegate delegate); template void WriteToFile(const std::vector& values); std::string m_OutputBinding; float m_Scale; int m_Offset; std::string m_OutputTensorFile; bool m_DequantizeOutput; }; using TContainer = mapbox::util::variant, std::vector, std::vector>; using QuantizationParams = std::pair; void PopulateTensorWithData(TContainer& tensorData, unsigned int numElements, const std::string& dataTypeStr, const armnn::Optional& qParams, const armnn::Optional& dataFile); /** * Verifies if the given string is a valid path. Reports invalid paths to std::err. * @param file string - A string containing the path to check * @param expectFile bool - If true, checks for a regular file. * @return bool - True if given string is a valid path., false otherwise. * */ bool ValidatePath(const std::string& file, const bool expectFile); /** * Verifies if a given vector of strings are valid paths. Reports invalid paths to std::err. * @param fileVec vector of string - A vector of string containing the paths to check * @param expectFile bool - If true, checks for a regular file. * @return bool - True if all given strings are valid paths., false otherwise. * */ bool ValidatePaths(const std::vector& fileVec, const bool expectFile);