aboutsummaryrefslogtreecommitdiff
path: root/src/armnnUtils
AgeCommit message (Collapse)Author
2021-12-14IVGCVSW-6453 'Move the ArmNN Test Utils code to a physically separate directory'Sadik Armagan
* Created include/armnnTestUtils directory * Moved Arm NN test utils files into armnnTestUtils directory Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I03ac54c645c41c52650c4c03b6a58fb1481fef5d
2021-11-18IVGCVSW-6452 'Move CompatibleTypes.hpp to the armnnUtils library'Sadik Armagan
* Moved CompatibleTypes.hpp to include folder * Added implementation file to source CompatibleTypes.cpp Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I94d2bffdb82a0592943f497d4f57972151d9f2db
2021-11-17IVGCVSW-6509 Front End + Reference Workload implementationTamás Nyíri
Subtask of story: IVGCVSW-6164 Add a Pooling3d FrontEnd and Ref Implementation * Add front end * Add reference workload * Add corresponding unit tests Change-Id: Icce4146dd0a06a1da46a2def00a82d343e171750 Signed-off-by: Tamas Nyiri <tamas.nyiri@arm.com>
2021-11-08IVGCVSW-6420: Constant flag in tensor info is not set correctlyCathal Corbett
!android-nn-driver:6532 !armnn-internal-tests:372451 * Made fix to 2 out of 3 ConstTensor() constructors in Tensor.hpp to throw InvalidArgumentException when TensorInfo isConstant parameter is false. * Added new ConstTensor() constructor in Tensor.cpp to accept vector<>.data() using template<typename MemoryType>. * Fixed runtime->GetOutputTensorInfo()/GetInputTensorInfo() methods and called submethods to return TensorInfo& rather than TensorInfo. * Fixed all failing unit tests for CpuRef/CpuAcc/GpuAcc to ensure any ConstTensor created has it's TensorInfo isConstant set to true. * Added unit tests in TensorTest.cpp to ensure ConstTensor constructors throw InvalidArgumentException when TensorInfo isConstat parameter is false. * Added unit test to ensure an empty ConstTensor constructor will set TensorInfo isConatant to true. * Indentation fixes. * Fix to arm_tensor.i to add isConstant parameter to TensorInfo constructor. Added methods IsConstant() and SetConstant(). * Fix to const_tensor.py to throw ValueError when TensorInfo isConstant is set to false when constructing a ConstTensor. * Fixed PyArmnn unit tests to set TensorInfo isConstant to True when ConstTensor is used. * Added unit tests in test_const_tensor.py to ensure ConstTensor constructors throw ValueError when TensorInfo isConstat parameter is false. Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I44e440dd0422c366d31bbdbc77ad2b4db0bde148
2021-10-21Fixed macro redefinition in Half.hppPablo Tello
* Fixed the compiler warnings about macro redefinitions when building the driver * Resolves MLCE-622 Change-Id: I7231f9772dc0f38191853ff378670d45648ef7f6 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2021-10-20Add ConstTensorsAsInput support for Conv3dMatthew Sloyan
* Constant weights and biases are now stored as Constant layers. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteParser. * Updated Ref backend to handle constant weights and bias as inputs rather than reading from member variables. * Added Conv3d EndToEnd test. * Added NCDHW DataLayout and unit tests. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I10cdd354ca5f1c748730f92ffdb36bf810f83c8e
2021-10-18IVGCVSW-6450 Add Support of Models with Dynamic Batch Tensor to ONNX parserNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ia7dbf0735619d406d6b4e34a71f14f20d92586e6
2021-10-01IVGCVSW-6163 Add Conv3d FrontEnd and Ref ImplementationMatthew Sloyan
* Added front-end * Added Reference workload * Added Serializer & Deserializer support * Added unit tests * Added NDHWC DataLayout Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Iec4d39e7433b5334d52fa44cf8efc6bcd39319d8
2021-09-23Fix undefined reinterpret_cast in BFloat16.hppDiego Lopez Recas
This fixes gcc builds with version 8 or above. Signed-off-by: Diego Lopez Recas <Diego.LopezRecas@arm.com> Change-Id: I4b886854f4f3391f766e95c3478d3a5f9661507a
2021-07-21NNXSW-3081 Move Filesystem.hpp and Threads.hpp to public includeRob Hughes
!android-nn-driver:5966 Change-Id: Ice0b4d2872bb0e09bfc0763034a206c3a8f24af4 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-06-16IVGCVSW-5826 Change weights layout for depthwise to [1,H,W,I*M]Jan Eilers
* This change is necessary because tflite uses a [1,H,W,I*M] format and uses the I*M dimension for per axis quantization. Our previous layout [M,I,H,W] can't handle the correlating quantization scales. * Updates Onnx-, TfLiteParser and TfliteDelegate * Updates the CpuRef, CpuAcc and GpuAcc backends * Adjusts unit tests * Adds test to ensure models with old layout can still be read and executed * Adds conversion function to previous layout [1,H,W,I*M] --> [M,I,H,W] which can be used by backend developers !android-nn-driver:5553 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ifef23368b8c3702cf315a5838d214f7dc13c0152
2021-06-11IVGCVSW-5963 'Move unit tests to new framework'Sadik Armagan
* Used doctest in ArmNN unit tests Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia9cf5fc72775878885c5f864abf2c56b3a935f1a
2021-06-02IVGCVSW-5962 Remove boost::multi_arraySadik Armagan
* Replaced all instances of boost::multi_array with flat vectors. * Updated LayerTestResult struct with new member variables. * Updated CompareTensor function to compare flat vectors and the shape. * Removed MakeTensor function from TensorHelpers.hpp. * Removed GetTensorShapeAsArray function from LayerTestResult.hpp. * Removed boost::array usage. * Removed boost::extents usages. * Removed boost::random usages. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Iccde9d6640b534940292ff048fb80c00b38c4743
2021-06-01IVGCVSW-5833 Move the ProfilingGuid out of Types.hpp to its own header in ↵Nikhil Raj
profiling common !android-nn-driver:5691 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ib71af0831e324ac6bd27b1a36f4a6ec1a703b14a
2021-05-18IVGCVSW-5964 Removing some remaining boost utility usages from tests.Colm Donelan
* Adding a basic PredicateResult class to replace boost::test_tools::predicate_result * Replacing all uses of boost::test_tools::predicate_result with the new armnn::PredicateResult class * Replacing use of boost::test_tools::output_test_stream output with std::ostringstream in ProfilerTests.cpp Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I75cdbbff98d984e26e4a50c125386b2988516fad
2021-04-21IVGCVSW-5842 Remove cross-wiring in depthwiseJan Eilers
* Reading tensor infos won't allow a permutation vector anymore. The permutation only changed the quantization dimension not the shape and was therefore misleading * The permutation of the full tensor info is now performed in armnnUtils::Permuted * Changed TfLite Parser depthwise parsing function * Added unit tests to TfLite Parser with more random data * Changed TfLite Delegate depthwise parsing function * Added unit test to the delegate with per channel quantization !android-nn-driver:5412 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I1f985ee69547bcaf16a72201e00a6b6fe1ef9a97
2021-01-07Fix mac build breaksKeith Mok
Signed-off-by: Keith Mok <ek9852@gmail.com> Change-Id: I4b2926342bbf8621f7b7f5695cf1526dd7281bef
2020-10-29IVGCVSW-5468 Rewrite QuantizationDataSet.cpp to avoid use of CsvReaderJames Ward
* Remove armnnUtils/CsvReader and usage * Remove armnn/CsvReaderTest and usage * Replace functionality in QuantizationDataSet.cpp Signed-off-by: James Ward <james.ward@arm.com> Change-Id: I7213904482afa93ae6d607aa5e69117c8c34ea81
2020-10-28IVGCVSW-5433 Remove boost::transform_iterator and make_transform_iteratorFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I28aace7092cff5743353df1b1de8e7a4691554d3
2020-10-16IVGCVSW-5435 Add FloatingPointComparison to remove boost::math::fpc usesMatthew Sloyan
* Added FloatingPointComparison.hpp and FloatingPointComparisonTest.cpp, which compares two floats and returns true if the values are within a specified or default tolerance of each other. * Also removed boost::math::fpc from test/TensorHelpers.hpp to validate. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I164c32eccd213c53bb1bc4f9cd4ee4838f1781c9
2020-10-13IVGCVSW-4489 Remove remaining occurrence of boost::formatMatthew Sloyan
* Replaced with fmt::format in Descriptors.cpp. * Removed remaining boost/format headers in ArmNN codebase. * Removed additional boost header in Network.cpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib98b83bf4ec99ef98ce7a3635ec0dd478c3e43e1
2020-10-02IVGCVSW-5297 Remove boost::format from rest of ArmNN.Colm Donelan
* Replacing calls to boost:format with fmt:format. * TensorUtils.cpp added outputShape.reserve call. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I4b2ed0f72039df824a2adca9309b8a9bbb158c5b
2020-09-30IVGCVSW-4519 Remove Boost Variant and apply_visitor variantJames Ward
* replace boost::variant with mapbox::util::variant * replace boost::apply_visitor with mapbox::util::apply_visitor * replace boost::get with mapbox::util::get Signed-off-by: James Ward <james.ward@arm.com> Change-Id: I38460cabbcd5e56d4d61151bfe3dcb5681ce696e
2020-09-17IVGCVSW-5303 Remove some boost::numeric_cast from rest of ArmNNMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp * Exclusions in TypeUtils.cpp and QuantizerVisitor.cpp * Excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I5c4c60e7028e1a51bf9379457278d253fd37bc70
2020-08-20Bugfix: Allow permutation of QuantizationDimFrancis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ib98ec471e6fdd47600b7c62d0b4d19dd36e20cbd
2020-08-17Fix Windows buildRob Hughes
Change-Id: I145d220c73313e31c184b6a75ab7f4823df99919 Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2020-07-29IVGCVSW-5166 Pull out the common and server side code into standalone librariesJim Flynn
Change-Id: I180f84c493a9b2be4b93b25d312ebdd9e71b1735 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-07-16IVGCVSW-5104 Fix OS-X GetCurrentThreadId build errorJim Flynn
Change-Id: Ic54b8d387d8507209e8777d25dcd2c4bc1641bf4 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-07-14Make it build on MACOSXJim Flynn
Still need to explicitly defined -DCMAKE_CXX_FLAGS=--std=c++14 which that flags should goes into CMakefile.txt JF: Fixed merge failure by removing Filesystem.cpp and updated the copyright headers to new standard Change-Id: I6d0886bd86bc1ddb593028194852551d43c77745 Signed-off-by: Keith Mok <ek9852@gmail.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-07-09IVGCVSW-5095 Make timeline report the Linux Thread ID not the pthread IDJim Flynn
Change-Id: Id69519fd9ef57716de4e389ed4156710a904c701 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-06-30IVGCVSW-4487 Remove boost::filesystemFrancis Murtagh
* Replace filesystem::path * Replace filesystem::exists * Replace filesystem::is_directory * Replace filesystem::directory_iterator * Replace filesystem::filesystem_error exception * Replace filesystem::temp_directory_path * Replace filesystem::unique path * Replace filesystem::ofstream with std::ofstream * Replace filesystem::remove * Replace filesystem::is_regular_file * Replace boost::optional with armnn::Optional in touched files * Remove some superfluous includes * Update build guides, GlobalConfig.cmake and CMakeLists.txt * Remove redundant armnnUtils::Filesystem::Remove function. * Remove redundant armnnUtils::Filesystem::GetFileSize function. Temporarily adding back Boost::filesystem to enable Boost::dll. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ifa46d4a0097d2612ddacd8e9736c0b36e365fb11
2020-06-26IVGCVSW-4171 Makes DumpOutgoingValidFileEndToEnd test work reliablyJim Flynn
Change-Id: I51f244467a7b562344f04b910fe5be5e2ec0e3dc Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-06-15IVGCVSW-4620 Add Fill Reference ImplementationRyan OShea
* Add Fill Reference Implementation * Refactor FP converter to use static_cast Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I532e2f982981d047690755fac43a0e9cf8b17dcd
2020-06-03remove BOM from filesLaurent Carlier
Change-Id: Ia4b4bb3be0ed6e933c77d58f8e9879b1370e9537 Signed-off-by: Laurent Carlier <laurent.carlier@arm.com>
2020-06-02Tidy up uses of Windows.h by adding WindowsWrapper.hppRob Hughes
This header brings in the Win32 API header, with some small modifications applied to prevent clashes with our code. This means those modifications don't need to be made in each place that we bring in Windows.h Change-Id: Ie817c7a167eccbe1ac6a49d3fc940eef8b2f534d Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2020-04-30IVGCVSW-4732 Move NetworkSockets class needs to profiling/commonFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ie1bd73e6c1818277943e70eaf73b4d9a26da4758
2020-04-20IVGCVSW-4513 Remove boost/algorithm/string *David Monahan
* Removed split, classification, trim, string, join, contains * Added StringUtils.hpp to replace the removed Boost String functionality Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I8aa938dc3942cb65c512cccb2c069da66aa24668
2020-04-06IVGCVSW-4485 Remove Boost assertNarumol Prangnawarat
* Change boost assert to armnn assert * Change include file to armnn assert * Fix ARMNN_ASSERT_MSG issue with multiple conditions * Change BOOST_ASSERT to BOOST_TEST where appropriate * Remove unused include statements Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I5d0fa3a37b7c1c921216de68f0073aa34702c9ff
2020-03-26IVGCVSW-4599 ArmNN Compile Error when compiled against gcc 9Francis Murtagh
* Use default keyword for armnn::Optional assignment. * Use default keyword for BFloat16 copy constructor and assignment. * Remove unnecessary const from static_cast template argument which was giving ignored-qualifiers warning. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ie3f4ce0a0c199a578d8cca2fea8f5dcef63dba4d
2020-03-13IVGCVSW-4511 Add BFloat16 to RefLayerSupport and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ifaae4d5aac468ba927b2c6a4bf31b8c8522aeb2e
2020-03-11IVGCVSW-4517 Modify BFloat16 to conformant to the coding standardsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I85b6967469dc1fddbbc875b34ba107480b78089a
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-09IVGCVSW-4517 Implement BFloat16 Encoder and DecoderNarumol Prangnawarat
* Add ConvertFloat32ToBFloat16 * Add ConvertBFloat16ToFloat32 * Add BFloat16Encoder * Add BFloat16Decoder * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I198888384c923aba28cfbed09a02edc6f8194b3e
2020-03-06IVGCVSW-4517 Add BFloat16 class and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie2e9e617b9210d79a26e7ba58ecc874d1202e599
2020-03-03IVGCVSW-4508 Add BFloat16 data typeNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie2fcf06d0bae9e2ef958e60ab9e8b121fdc7b590
2020-03-02IVGCVSW-4375 Add support for TransposeMike Kelly
* Added TransposeLayer * Added CL, Neon and Ref Workloads * Added Transpose utilities * Added Serializer and Deserializer support * Added Quantizer support Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7
2020-02-24COMPMID-3060: Add TF Parser support for TransposeSang-Hoon Park
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com> Change-Id: I9661787071554b38c5b0ab3c98431f3863b98520
2020-02-18COMPMID-3059: Add TF parser support for StridedSliceGeorgios Pinitas
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: I31f25f26a50c9054b5650b1be127c84194b56be7
2020-01-24Updates to Filesystem.cpp/hpp and NetworkSockets.cpp/hpp to fix failing masterDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I566c29754aa586167a938d2c2b4e5069a39b5e50
2020-01-22Add check to NetworkSockets.cpp to fix failing Android buildDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ieaa91fae464047c6eeff557b4e01dac09653473d