aboutsummaryrefslogtreecommitdiff
path: root/ConversionUtils_1_2.hpp
AgeCommit message (Collapse)Author
2023-09-26IVGCVSW-6294 Added Split support to Android-NN-Driverv23.11branches/android-nn-driver_23_11Mike Kelly
* Added Split support to Android-NN-Driver Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4b0bc146597dae89b68402aa78d1f1b1c894a7fb
2023-08-22IVGCVSW-7957 Fix weights checking when converting Conv2d/DepthwiseConv2dKevin May
* An Operand can only have NO_VALUE if it is an optional argument of an operation * Add a check to see if the operand is optional to IsWeightsValid Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I6321934dbfa41dd2bd28d8871c135f3694d9674d
2023-08-09MLCE-1093 Reshape and concat invalid resultsMike Kelly
!armnn:10062 * Added Split Axis to GroupedConv2d splitter. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I922a2b8713ec7ec29db7c5903ef0008d5d21a9cf
2023-07-31IVGCVSW-7787 Fix READ memory access caused by missing printf argumentsKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ibea856e1420ad3ff14aef2cdb3d8ee918fb1bcf1
2023-07-25IVGCVSW-7888 Add Tile convert functionTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic9479be6b3e6cf0e529c685c9b28c642e9dd00d5
2023-03-14IVGCVSW-3809 Refactor Elementwise Binary ops to use ElementwiseBinaryLayerTeresa Charlin
!armnn:9319 * Refactored all functions to convert Add, Div, Maximum, Minimum, Mul and Sub to use ElementwiseBinary layers instead. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ic05885cd8692e7f1b7032862fb4a395af70e0bcd Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If9717d6ab236d97c76f6cd39b96bde86c81e4382
2022-12-13Optimize the calling of IsLayerSupported().Cathal Corbett
!armnn:8742 * Done as part of 22.11/23.02 innovation days. * IsLayerSupported() is called in model prepare (delegate, android-nn-driver and shim/support_library) and again in ArmNN once model optimization is performed. * From calling IsLayerSupported() the first time, we should know that the layers are supported and what backend they are supported on. * Solution is to set the BackendId of the IConnectableLayer when IsLayerSupported() is called the first time, * In the Optimize() function we then check if the backend is set. If so, we do not call IsLayerSupported() again. * In the case a layer that is supported gets optimized, then the BackendId of that layer get set to "Unknown" for the new optimized layer and IsLayerSupported() will get called on the newly optimized layer. Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ie5c6c9cd10d81f90b1ee78dd6e3442f353b6c109
2022-12-05Bug fix gather for negative axisTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I556be062b6c16bb8c42fe4e219af85ad88015f41
2022-09-06IVGCVSW-7006 Remove deprecated code due to be removed in 22.08Teresa Charlin
* AddConv with weights and bias !armnn:8167 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9b2ad21482d503161721b7d4eee5c5d16b59a379
2022-05-25IVGCVSW-696 Coverity: Variable declared without initializingCathal Corbett
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ibf9bfa28099b476862ff6ac87e10ff28db8ff3ad
2022-05-16IVGCVSW-6124 ConstTensorsAsInput: Convolution2dKeith Davis
* Add support for Android-nn-driver !armnn:7382 Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I7ace53cf1c8954c1f2d5588387616d7179ef3bf7
2022-05-05IVGCVSW-6127 ConstTensorsAsInput: DepthwiseConvolution2dCathal Corbett
!armnn:7417 Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ic37d6b8677e040c60a90358dd0a4a8eb33fb6ea0
2022-05-04IVGCVSW-6806 Fixed issue with missing TensorInfos in UnidirectionalSequenceLSTMMike Kelly
* Corrected TensorInfo order for IsUnidirectionalSequenceLstmSupported * outputStateOut TensorInfo is not optional. * cellStateOut TensorInfo is not optional. * TensorInfo Order matches other QLSTM/LSTM layers. !armnn:7455 Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I5b0e0fa4b6e1c3da6689d9aefc9b959172c2e7d4
2022-01-24IVGCVSW-6269 Add support of Unidirectional Sequence Lstm fp32/fp16 to AndroidCathal Corbett
* Unidirectional Sequence Lstm is supported in android-nn-driver. * CTS and VTS pass for Unidirectional Sequence Lstm if there are any without weights as inputs. If that isn't the case use the tests implemented in the android driver for LSTM. Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ie3a237b67f5101c4f9a2c7bea796e9c674bedba1
2021-11-04IVGCVSW-6430 Clear up coverity issuesMike Kelly
* Removed unreachable code * break after if else where both branches return * Removed unused operations * Result of dstPtr++ is unused * Fixed possible overflow * Axis dimensionSequence assignment can result in overflow where rank is not 4 * Removed use of old-style casts * Fixed spelling mistakes in error messages Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If2a7ab63fc1d200cb18b494d99a67bbddb42f0f8
2021-10-14IVGCVSW-6428 Remove assertsMike Kelly
* Changed asserts to check for errors and return appropriate values or throw exceptions * Changed unit tests to use Doctest's long macro names as the short macro names clashed with Android's Logging macros * Removed unused #includes * Clarified ambiguous #includes Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ice92a37590df727fd581d3be5ff2716665f26a13
2021-09-23IVGCVSW-3715 Add Channel Shuffle supportTeresa Charlin
!armnn:6211 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ie5e5d160f6d826c30f1fff298a4a73151c1ccdbb
2021-07-23IVGCVSW-5354 Fix skipped VTS DynamicOutputShape ComparisonTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I2c3f5f2a638bf99e379f91b9d1d1c99d491a0153
2021-06-25IVGCVSW-6178 Add additional compiler warnings to the driverFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I2209251736a095583fffc8da774188e0dccfc932
2021-06-16Add QUANT8_ASYMM_SIGNED in PadV2 for HAL1.3Teresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I597344d91975d7067f137e6587b751500de33837
2021-06-12IVGCVSW-5826 Change weights layout for depthwise to [1,H,W,I*M]Jan Eilers
!armnn:5552 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I5bbc998f1a29030f718d85b646907c5a314ceecf
2021-04-26IVGCVSW-5416 'Add android-nn-driver support for CAST'Sadik Armagan
!armnn:5494 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ie99d58f7421c2634c23d2a68d1acaaac651963a4
2021-04-02IVGCVSW-5355 Skipped VTS DynamicOutputShape Expand Dims should be passingNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: If6ed4e513cc0e8ee29fb76127d66893f8b98e30b
2021-02-24IVGCVSW-5131 Add support for REDUCE_SUM, REDUCE_MIN and REDUCE_MAXTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib88544dd6adc3d6a0d2f4c0b395e05b89bc8ad3e
2020-10-09IVGCVSW-5359 Fix Transpose Conv2d Dynamic testsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I377af50c1ae17aef9b730d1c8ef6a2b54d9d4c5c
2020-10-09IVGCVSW-5357 Fix skipping Dynamic Grouped Conv2d testsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: If1be1fcd289e83661a0ad03574a36cbbd9266c88
2020-09-14IVGCVSW-5304 Remove boost::numeric_cast from Android-nn-driverMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I6253261508e49ddeaa5ba3f3893a059486637467
2020-09-11IVGCVSW-5245 Support Fused Activations for Dynamic TensorsKevin May
* Move ProcessActivation from Convert<LayerName> to SetupAndTrackLayerOutputSlot by passing optional ActivationFn * Connect Activation after IsTensorInfoSet() is called Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I472bcb65b12ae6e934bd1e9af8a6f6aceb311c0e
2020-09-03IVGCVSW-5271 'Update ConvertQuantized16BitLstm function to use ↵Sadik Armagan
ShapeInferenceMethod' * Enabled DynamicTensors on Quantized16BitLSTM operator. !android-nn-driver:3897 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ic86c5af5a4d1b1d12fc6879dfb94fddd889b85de
2020-09-03IVGCVSW-5272 'Update ConvertLstm function to use ShapeInferenceMethod'Sadik Armagan
* Enabled Dynamic Tensors on LSTM operator Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I9cae539559570a44088a986870d3d3e41aee9468
2020-08-16IVGCVSW-5182 Bug fix for Comparison layer introduced by dynamic tensorsTeresa Charlin
* Addresses this error: Tried to connect an output slot to an input slot, but the latter already has a connection Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Id011f4b42453b66bca2a388b8081151d74d006c3
2020-08-14IVGCVSW-5182 Update Convert functions to use ShapeInferenceMethod. 1/2.Teresa Charlin
* ConvertToActivation * ConvertAdd * ConvertArgMinMax * ConvertConv2d * ConvertDepthToSpace * ConvertDepthwiseConv2d * ConvertDiv * ConvertFloor * ConvertFullyConnected * ConvertL2Normalization * ConvertLocalResponseNormalization * ConvertMean * ConvertMul * ConvertPad * ConvertReshape * ConvertSub * ConvertStridedSlice * ConvertTranspose * ConvertBatchToSpaceNd * ConvertSpaceToBatchNd * ConvertComparison_1_2 * ConvertConv2d_1_2 * ConvertDepthwiseConv2d_1_2 * ConvertElementwiseUnary * ConvertExpandDims * ConvertGather * ConvertGroupedConv2d * ConvertInstanceNormalization * ConvertLogSoftmax * ConvertMaximum * ConvertMinimum * ConvertPadV2 * ConvertPrelu * ConvertQuantize * ConvertResize * ConvertSpaceToDepth * ConvertSoftmax * ConvertTransposeConv2d Signed-off-by: Finn Williams <Finn.Williams@Arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Idacf16e5eab56d83fce293570bbc89381ae056dc
2020-08-10IVGCVSW-3568 Eliminate rank and axis restriction in Softmax.Teresa Charlin
* Restriction in axis will be now part of ACL. Currently, ACL only supports axis = 0, which translates to axis = -1 in ArmNN and Android. * Beta must be Float16 when input/output are Float16 !armnn:3690 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I2645a005840e17703367b3ec7e9ed91e83a2f6c7
2020-07-21IVGCVSW-4709 Re-enable Android-NN Resize ParametersDavid Monahan
* Re-enabled support for Align Corners and Half Pixel Centers Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Iec8f5f5b5a1142547957ad9128037315b1da7935
2020-07-09IVGCVSW-4988 Add handling output shape parameter to TransposeConvolution2dColm Donelan
* Updating ConvertTransposeConv2d to populate m_OutputShape if found in the model. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I8c0c8184fdf29d81639dac8af36a9f1f048296b2
2020-06-29IVGCVSW-4903 Gather support for axis != 0Teresa Charlin
!armnn:3301 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ieba2cddd45bc353714c3a34f98f5ea49c772f426
2020-05-30IVGCVSW-4888 Rename of Resize parameterDavid Monahan
!armnn:3281 Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ifeab1087274ce4edbd33f171b9cea8e1010879b7
2020-05-29IVGCVSW-3847 Add Support for GATHERTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I69dd78d47628355c207a450119b054b04581c729
2020-05-19IVGCVSW-4453 Add Support for ANEURALNETWORKS_QLSTM to HAL 1.3 DriverSadik Armagan
* Add QLSTM support for Android NN Driver * Add overrideOutputInfo parameter to SetupAndTrackLayerOutputSlot * Add optional condition to GetInputScalar * Refactor Quantized 16 Bit LSTM impl Change-Id: Ie8fa98ad5ee4a62174ef91ca80f1df62b7fde937 Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2020-04-21IVGCVSW-4675 Fix VTS 1.3 GeneratedTest.Test/armnn_resize*David Monahan
* Added GetOptionalBool function * Added checks to Resize for unsupported operands AlignCorners and HalfPixelCenters !armnn:3062 Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ic0305014ed2638e3a3d1e7520972e3a2909e504b
2020-03-26IVGCVSW-4447 Add Hal 1_3 SupportKevin May
* Add new 1.3 files HalPolicy, ArmnnDriver, ArmnnDriverImpl * Add new .rc file for 1.3 service * Add ArmnnPreparedModel_1_3 and implement new functions * Update Android.mk with 1.3 driver and service * Refactor ifdef to include ARMNN_ANDROID_NN_V1_3 * Create Utils getMainModel for new 1.3 Model Main Subgraph * Use android Utils to convertToV1_X in ArmnnPrepapredModel_1_3 * Refactor HAL 1.2 convert functions into ConversionUtils_1_2.hpp * Replace ArmnnBurstExecutorWithCache with call to ExecutionBurstServer Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I514069e9e1b16bcd1c4abfb5d563d25ac22d02e3