diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2020-09-08 12:00:32 +0100 |
---|---|---|
committer | Matthew Sloyan <matthew.sloyan@arm.com> | 2020-09-11 18:24:18 +0100 |
commit | 80c6b146046252af153af27025a28fb59d33c5e6 (patch) | |
tree | 82cc16369d0a163fc4f97a25af13c4d792faecf8 | |
parent | 77062ca6f288830a21e4ff4237059623eba25fa2 (diff) | |
download | armnn-80c6b146046252af153af27025a28fb59d33c5e6.tar.gz |
IVGCVSW-5299 Remove some boost::numeric_cast from armnn/tests
* Replaced with armnn/utility/NumericCast.hpp
* Removed combinations without float implementation in NumericCast.hpp
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ia4ec605f063cdb0071fff302ef48c610f9f9505e
-rw-r--r-- | tests/CaffePreprocessor.cpp | 5 | ||||
-rw-r--r-- | tests/Cifar10Database.cpp | 11 | ||||
-rw-r--r-- | tests/DeepSpeechV1Database.hpp | 5 | ||||
-rw-r--r-- | tests/DeepSpeechV1InferenceTest.hpp | 1 | ||||
-rw-r--r-- | tests/ImagePreprocessor.cpp | 6 | ||||
-rw-r--r-- | tests/InferenceModel.hpp | 7 | ||||
-rw-r--r-- | tests/InferenceTest.inl | 4 | ||||
-rw-r--r-- | tests/InferenceTestImage.cpp | 15 | ||||
-rw-r--r-- | tests/MnistDatabase.cpp | 5 | ||||
-rw-r--r-- | tests/MobileNetSsdDatabase.hpp | 5 | ||||
-rw-r--r-- | tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp | 7 | ||||
-rw-r--r-- | tests/YoloDatabase.cpp | 5 | ||||
-rw-r--r-- | tests/profiling/gatordmock/tests/GatordMockTests.cpp | 12 |
13 files changed, 45 insertions, 43 deletions
diff --git a/tests/CaffePreprocessor.cpp b/tests/CaffePreprocessor.cpp index b92f1f7108..e531a31a62 100644 --- a/tests/CaffePreprocessor.cpp +++ b/tests/CaffePreprocessor.cpp @@ -5,7 +5,8 @@ #include "InferenceTestImage.hpp" #include "CaffePreprocessor.hpp" -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> + #include <boost/format.hpp> #include <iostream> @@ -28,7 +29,7 @@ CaffePreprocessor::CaffePreprocessor(const std::string& binaryFileDirectory, uns std::unique_ptr<CaffePreprocessor::TTestCaseData> CaffePreprocessor::GetTestCaseData(unsigned int testCaseId) { - testCaseId = testCaseId % boost::numeric_cast<unsigned int>(m_ImageSet.size()); + testCaseId = testCaseId % armnn::numeric_cast<unsigned int>(m_ImageSet.size()); const ImageSet& imageSet = m_ImageSet[testCaseId]; const std::string fullPath = m_BinaryDirectory + imageSet.first; diff --git a/tests/Cifar10Database.cpp b/tests/Cifar10Database.cpp index db2a234161..9e90da5032 100644 --- a/tests/Cifar10Database.cpp +++ b/tests/Cifar10Database.cpp @@ -5,8 +5,8 @@ #include "Cifar10Database.hpp" #include <armnn/Logging.hpp> +#include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <fstream> #include <vector> @@ -70,9 +70,10 @@ std::unique_ptr<Cifar10Database::TTestCaseData> Cifar10Database::GetTestCaseData { for (unsigned int w = 0; w < 32; w++) { - inputImageData[countR_o] = boost::numeric_cast<float>(I[countR++]); - inputImageData[countG_o] = boost::numeric_cast<float>(I[countG++]); - inputImageData[countB_o] = boost::numeric_cast<float>(I[countB++]); + // Static_cast of unsigned char is safe with float + inputImageData[countR_o] = static_cast<float>(I[countR++]); + inputImageData[countG_o] = static_cast<float>(I[countG++]); + inputImageData[countB_o] = static_cast<float>(I[countB++]); countR_o += step; countG_o += step; @@ -80,6 +81,6 @@ std::unique_ptr<Cifar10Database::TTestCaseData> Cifar10Database::GetTestCaseData } } - const unsigned int label = boost::numeric_cast<unsigned int>(I[0]); + const unsigned int label = armnn::numeric_cast<unsigned int>(I[0]); return std::make_unique<TTestCaseData>(label, std::move(inputImageData)); } diff --git a/tests/DeepSpeechV1Database.hpp b/tests/DeepSpeechV1Database.hpp index fa7dda0d76..5e721c3cb9 100644 --- a/tests/DeepSpeechV1Database.hpp +++ b/tests/DeepSpeechV1Database.hpp @@ -11,8 +11,7 @@ #include <vector> #include <armnn/TypesUtils.hpp> - -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> #include <array> #include <string> @@ -80,7 +79,7 @@ inline auto ParseDataArray<armnn::DataType::QAsymmU8>(std::istream& stream, return ParseArrayImpl<uint8_t>(stream, [&quantizationScale, &quantizationOffset](const std::string & s) { - return boost::numeric_cast<uint8_t>( + return armnn::numeric_cast<uint8_t>( armnn::Quantize<uint8_t>(std::stof(s), quantizationScale, quantizationOffset)); diff --git a/tests/DeepSpeechV1InferenceTest.hpp b/tests/DeepSpeechV1InferenceTest.hpp index 7a33d34ace..28d82bfc21 100644 --- a/tests/DeepSpeechV1InferenceTest.hpp +++ b/tests/DeepSpeechV1InferenceTest.hpp @@ -10,7 +10,6 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/IgnoreUnused.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <boost/test/tools/floating_point_comparison.hpp> #include <vector> diff --git a/tests/ImagePreprocessor.cpp b/tests/ImagePreprocessor.cpp index 5a42b8ae31..4557cadca5 100644 --- a/tests/ImagePreprocessor.cpp +++ b/tests/ImagePreprocessor.cpp @@ -9,8 +9,8 @@ #include <armnn/TypesUtils.hpp> #include <armnnUtils/Permute.hpp> +#include <armnn/utility/NumericCast.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <boost/format.hpp> #include <iostream> @@ -21,7 +21,7 @@ template <typename TDataType> unsigned int ImagePreprocessor<TDataType>::GetLabelAndResizedImageAsFloat(unsigned int testCaseId, std::vector<float> & result) { - testCaseId = testCaseId % boost::numeric_cast<unsigned int>(m_ImageSet.size()); + testCaseId = testCaseId % armnn::numeric_cast<unsigned int>(m_ImageSet.size()); const ImageSet& imageSet = m_ImageSet[testCaseId]; const std::string fullPath = m_BinaryDirectory + imageSet.first; @@ -38,7 +38,7 @@ unsigned int ImagePreprocessor<TDataType>::GetLabelAndResizedImageAsFloat(unsign // duplicate data across the batch for (unsigned int i = 1; i < m_BatchSize; i++) { - result.insert(result.end(), result.begin(), result.begin() + boost::numeric_cast<int>(GetNumImageElements())); + result.insert(result.end(), result.begin(), result.begin() + armnn::numeric_cast<int>(GetNumImageElements())); } if (m_DataFormat == DataFormat::NCHW) diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp index 8ac44f98fb..527cc64d85 100644 --- a/tests/InferenceModel.hpp +++ b/tests/InferenceModel.hpp @@ -10,6 +10,7 @@ #include <armnn/utility/Timer.hpp> #include <armnn/BackendRegistry.hpp> #include <armnn/utility/Assert.hpp> +#include <armnn/utility/NumericCast.hpp> #if defined(ARMNN_SERIALIZER) #include "armnnDeserializer/IDeserializer.hpp" @@ -204,7 +205,7 @@ public: network = parser->CreateNetworkFromBinary(file); } - unsigned int subgraphId = boost::numeric_cast<unsigned int>(params.m_SubgraphId); + unsigned int subgraphId = armnn::numeric_cast<unsigned int>(params.m_SubgraphId); for (const std::string& inputLayerName : params.m_InputBindings) { @@ -487,10 +488,10 @@ public: boost::apply_visitor([expectedOutputDataSize, i](auto&& value) { - const unsigned int actualOutputDataSize = boost::numeric_cast<unsigned int>(value.size()); + const unsigned int actualOutputDataSize = armnn::numeric_cast<unsigned int>(value.size()); if (actualOutputDataSize < expectedOutputDataSize) { - unsigned int outputIndex = boost::numeric_cast<unsigned int>(i); + unsigned int outputIndex = i; throw armnn::Exception( fmt::format("Not enough data for output #{0}: expected " "{1} elements, got {2}", outputIndex, expectedOutputDataSize, actualOutputDataSize)); diff --git a/tests/InferenceTest.inl b/tests/InferenceTest.inl index 4a97d17018..88ce3526e2 100644 --- a/tests/InferenceTest.inl +++ b/tests/InferenceTest.inl @@ -5,6 +5,8 @@ #include "InferenceTest.hpp" #include <armnn/utility/Assert.hpp> +#include <armnn/utility/NumericCast.hpp> + #include <boost/numeric/conversion/cast.hpp> #include <boost/program_options.hpp> #include <fmt/format.h> @@ -130,7 +132,7 @@ TestCaseResult ClassifierTestCase<TTestCaseDatabase, TModel>::ProcessResult(cons unsigned int prediction = 0; boost::apply_visitor([&](auto&& value) { - prediction = boost::numeric_cast<unsigned int>( + prediction = armnn::numeric_cast<unsigned int>( std::distance(value.begin(), std::max_element(value.begin(), value.end()))); }, output); diff --git a/tests/InferenceTestImage.cpp b/tests/InferenceTestImage.cpp index f76c958f4e..a1b6cf4bdb 100644 --- a/tests/InferenceTestImage.cpp +++ b/tests/InferenceTestImage.cpp @@ -6,6 +6,7 @@ #include <armnn/utility/Assert.hpp> #include <armnn/utility/IgnoreUnused.hpp> +#include <armnn/utility/NumericCast.hpp> #include <boost/numeric/conversion/cast.hpp> #include <fmt/format.h> @@ -146,9 +147,9 @@ InferenceTestImage::InferenceTestImage(char const* filePath) throw InferenceTestImageLoadFailed(fmt::format("Could not load empty image at {}", filePath)); } - m_Width = boost::numeric_cast<unsigned int>(width); - m_Height = boost::numeric_cast<unsigned int>(height); - m_NumChannels = boost::numeric_cast<unsigned int>(channels); + m_Width = armnn::numeric_cast<unsigned int>(width); + m_Height = armnn::numeric_cast<unsigned int>(height); + m_NumChannels = armnn::numeric_cast<unsigned int>(channels); const unsigned int sizeInBytes = GetSizeInBytes(); m_Data.resize(sizeInBytes); @@ -185,11 +186,11 @@ void InferenceTestImage::StbResize(InferenceTestImage& im, const unsigned int ne std::vector<uint8_t> newData; newData.resize(newWidth * newHeight * im.GetNumChannels() * im.GetSingleElementSizeInBytes()); - // boost::numeric_cast<>() is used for user-provided data (protecting about overflows). + // armnn::numeric_cast<>() is used for user-provided data (protecting about overflows). // static_cast<> is ok for internal data (assumes that, when internal data was originally provided by a user, - // a boost::numeric_cast<>() handled the conversion). - const int nW = boost::numeric_cast<int>(newWidth); - const int nH = boost::numeric_cast<int>(newHeight); + // a armnn::numeric_cast<>() handled the conversion). + const int nW = armnn::numeric_cast<int>(newWidth); + const int nH = armnn::numeric_cast<int>(newHeight); const int w = static_cast<int>(im.GetWidth()); const int h = static_cast<int>(im.GetHeight()); diff --git a/tests/MnistDatabase.cpp b/tests/MnistDatabase.cpp index 9abc3a6d2b..bbeb8caf55 100644 --- a/tests/MnistDatabase.cpp +++ b/tests/MnistDatabase.cpp @@ -6,8 +6,6 @@ #include <armnn/Logging.hpp> -#include <boost/numeric/conversion/cast.hpp> - #include <fstream> #include <vector> @@ -94,7 +92,8 @@ std::unique_ptr<MnistDatabase::TTestCaseData> MnistDatabase::GetTestCaseData(uns for (unsigned int i = 0; i < col * row; ++i) { - inputImageData[i] = boost::numeric_cast<float>(I[i]); + // Static_cast of unsigned char is safe with float + inputImageData[i] = static_cast<float>(I[i]); if(m_ScaleValues) { diff --git a/tests/MobileNetSsdDatabase.hpp b/tests/MobileNetSsdDatabase.hpp index 1921831fa3..9cd987d2ed 100644 --- a/tests/MobileNetSsdDatabase.hpp +++ b/tests/MobileNetSsdDatabase.hpp @@ -11,8 +11,7 @@ #include <QuantizeHelper.hpp> #include <armnn/TypesUtils.hpp> - -#include <boost/numeric/conversion/cast.hpp> +#include <armnn/utility/NumericCast.hpp> #include <array> #include <memory> @@ -75,7 +74,7 @@ MobileNetSsdDatabase::MobileNetSsdDatabase(const std::string& imageDir, float sc std::unique_ptr<MobileNetSsdTestCaseData> MobileNetSsdDatabase::GetTestCaseData(unsigned int testCaseId) { const unsigned int safeTestCaseId = - testCaseId % boost::numeric_cast<unsigned int>(g_PerTestCaseInput.size()); + testCaseId % armnn::numeric_cast<unsigned int>(g_PerTestCaseInput.size()); const ObjectDetectionInput& testCaseInput = g_PerTestCaseInput[safeTestCaseId]; // Load test case input diff --git a/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp b/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp index 69941d5678..74f02d71cb 100644 --- a/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp +++ b/tests/NetworkExecutionUtils/NetworkExecutionUtils.hpp @@ -4,6 +4,7 @@ // #include <armnn/ArmNN.hpp> #include <armnn/TypesUtils.hpp> +#include <armnn/utility/NumericCast.hpp> #include <armnn/utility/Timer.hpp> #if defined(ARMNN_SERIALIZER) @@ -136,7 +137,7 @@ template<> auto ParseDataArray<armnn::DataType::QAsymmU8>(std::istream& stream) { return ParseArrayImpl<uint8_t>(stream, - [](const std::string& s) { return boost::numeric_cast<uint8_t>(std::stoi(s)); }); + [](const std::string& s) { return armnn::numeric_cast<uint8_t>(std::stoi(s)); }); } template<> @@ -147,7 +148,7 @@ auto ParseDataArray<armnn::DataType::QAsymmU8>(std::istream& stream, return ParseArrayImpl<uint8_t>(stream, [&quantizationScale, &quantizationOffset](const std::string & s) { - return boost::numeric_cast<uint8_t>( + return armnn::numeric_cast<uint8_t>( armnn::Quantize<uint8_t>(std::stof(s), quantizationScale, quantizationOffset)); @@ -156,7 +157,7 @@ auto ParseDataArray<armnn::DataType::QAsymmU8>(std::istream& stream, std::vector<unsigned int> ParseArray(std::istream& stream) { return ParseArrayImpl<unsigned int>(stream, - [](const std::string& s) { return boost::numeric_cast<unsigned int>(std::stoi(s)); }); + [](const std::string& s) { return armnn::numeric_cast<unsigned int>(std::stoi(s)); }); } std::vector<std::string> ParseStringList(const std::string & inputString, const char * delimiter) diff --git a/tests/YoloDatabase.cpp b/tests/YoloDatabase.cpp index 3b3e5a90d4..8b2c630205 100644 --- a/tests/YoloDatabase.cpp +++ b/tests/YoloDatabase.cpp @@ -7,13 +7,14 @@ #include <armnn/Exceptions.hpp> #include <armnn/Logging.hpp> +#include <armnn/utility/NumericCast.hpp> + #include <array> #include <cstdint> #include <tuple> #include <utility> #include <boost/format.hpp> -#include <boost/numeric/conversion/cast.hpp> #include "InferenceTestImage.hpp" @@ -73,7 +74,7 @@ YoloDatabase::YoloDatabase(const std::string& imageDir) std::unique_ptr<YoloDatabase::TTestCaseData> YoloDatabase::GetTestCaseData(unsigned int testCaseId) { - testCaseId = testCaseId % boost::numeric_cast<unsigned int>(g_PerTestCaseInputOutput.size()); + testCaseId = testCaseId % armnn::numeric_cast<unsigned int>(g_PerTestCaseInputOutput.size()); const auto& testCaseInputOutput = g_PerTestCaseInputOutput[testCaseId]; const std::string imagePath = m_ImageDir + testCaseInputOutput.first; diff --git a/tests/profiling/gatordmock/tests/GatordMockTests.cpp b/tests/profiling/gatordmock/tests/GatordMockTests.cpp index 303a36a71a..4fd884cec4 100644 --- a/tests/profiling/gatordmock/tests/GatordMockTests.cpp +++ b/tests/profiling/gatordmock/tests/GatordMockTests.cpp @@ -11,6 +11,8 @@ #include <ProfilingService.hpp> #include <TimelinePacketWriterFactory.hpp> +#include <armnn/utility/NumericCast.hpp> + #include <server/include/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp> #include <server/include/timelineDecoder/TimelineDecoder.hpp> @@ -18,11 +20,9 @@ #include <MockBackend.hpp> -#include <boost/cast.hpp> #include <boost/test/test_tools.hpp> #include <boost/test/unit_test_suite.hpp> - BOOST_AUTO_TEST_SUITE(GatordMockTests) using namespace armnn; @@ -31,8 +31,6 @@ using namespace std::chrono_literals; BOOST_AUTO_TEST_CASE(CounterCaptureHandlingTest) { - using boost::numeric_cast; - arm::pipe::PacketVersionResolver packetVersionResolver; // Data with timestamp, counter idx & counter values @@ -61,9 +59,9 @@ BOOST_AUTO_TEST_CASE(CounterCaptureHandlingTest) std::unique_ptr<unsigned char[]> uniqueData2 = std::make_unique<unsigned char[]>(dataLength); unsigned char* data2 = reinterpret_cast<unsigned char*>(uniqueData2.get()); - uint32_t sizeOfUint64 = numeric_cast<uint32_t>(sizeof(uint64_t)); - uint32_t sizeOfUint32 = numeric_cast<uint32_t>(sizeof(uint32_t)); - uint32_t sizeOfUint16 = numeric_cast<uint32_t>(sizeof(uint16_t)); + uint32_t sizeOfUint64 = armnn::numeric_cast<uint32_t>(sizeof(uint64_t)); + uint32_t sizeOfUint32 = armnn::numeric_cast<uint32_t>(sizeof(uint32_t)); + uint32_t sizeOfUint16 = armnn::numeric_cast<uint32_t>(sizeof(uint16_t)); // Offset index to point to mem address uint32_t offset = 0; |