platform/upstream/armnn.git
5 years agoNNXSW-1896 Add missing layer types to InternalTypes.cpp.
Stefana Simion [Fri, 6 Dec 2019 09:28:53 +0000 (09:28 +0000)]
NNXSW-1896 Add missing layer types to InternalTypes.cpp.

Change-Id: I1fe9bba5774a2f46fad4ff90a9980b8f773d2cbb
Signed-off-by: Stefana Simion <Stefana.Simion@arm.com>
5 years agoMLCE-133 Fix dangling calls to Manage()
Pablo Tello [Tue, 3 Dec 2019 15:46:50 +0000 (15:46 +0000)]
MLCE-133 Fix dangling calls to Manage()

 * If nobody consumes an output tensor, the call to Manage()
   is not closed by a corresponding call to Allocate()

Change-Id: I6af9cff7aa1b7eb70bcf691c00c0ce07b48e7527
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
5 years agoAdd asserts to check memcpy addresses
Rob Hughes [Wed, 27 Nov 2019 14:27:11 +0000 (14:27 +0000)]
Add asserts to check memcpy addresses

Change-Id: I0432539197b21e3f430970993276be2b8b99bda6
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
5 years agoAdd noexcept to std::hash specialisation for BackendId
Matthew Bentham [Thu, 5 Dec 2019 10:37:09 +0000 (10:37 +0000)]
Add noexcept to std::hash specialisation for BackendId

This fixes a warning reported by gcc 8.3 with -Wextra

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I5aad9fe201545d8c87ace9d24e53e900289986b8

5 years agoReplace boost logging with simple logger
Derek Lamberti [Tue, 26 Nov 2019 16:38:31 +0000 (16:38 +0000)]
Replace boost logging with simple logger

!referencetests:214319

* Reduces arm nn binary size ~15%
* Also fixed test logging black hole issues

Change-Id: Iba27db304d9a8088fa46aeb0b52225d93bb56bc8
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-4179 Add RESIZE_NEAREST_NEIGHBOUR to the TfLite parser
Sadik Armagan [Thu, 5 Dec 2019 09:08:53 +0000 (09:08 +0000)]
IVGCVSW-4179 Add RESIZE_NEAREST_NEIGHBOUR to the TfLite parser

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I6359a8a405c86aef04cde75404393dd4ee917fa5

5 years agoIVGCVSW-4223 Change PeriodicCounterCapture Packet Family to 3
Jim Flynn [Wed, 4 Dec 2019 10:07:20 +0000 (10:07 +0000)]
IVGCVSW-4223 Change PeriodicCounterCapture Packet Family to 3

Change-Id: Ibc166c25d8d5fd09f407c0c697217a57b84d8cdc
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
5 years agoIVGCVSW-4016 Add the Inference timeline trace and unit tests
David Monahan [Mon, 2 Dec 2019 08:35:43 +0000 (08:35 +0000)]
IVGCVSW-4016 Add the Inference timeline trace and unit tests

Signed-off-by: David Monahan <david.monahan@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0cfbc2e1ed8f1eded1841866ebf9f39a066e91af

5 years agoIVGCVSW-4118 Change the SendCounterPacket send thread to use do while
Finn Williams [Fri, 29 Nov 2019 13:56:33 +0000 (13:56 +0000)]
IVGCVSW-4118 Change the SendCounterPacket send thread to use do while

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I702fdc941e29ddcb31f54513e0a7dc642f0f4685

5 years agoIVGCVSW-4221 Fix SendCounterPacket hanging for indefinite time
Finn Williams [Tue, 3 Dec 2019 11:55:31 +0000 (11:55 +0000)]
IVGCVSW-4221 Fix SendCounterPacket hanging for indefinite time

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I612f4d0162e7f35296f7d484350a937f6344fcfb

5 years agoIVGCVSW-4171 Fix intermittent failure on FileOnlyProfilingDecoratorTests
janeil01 [Tue, 3 Dec 2019 17:01:32 +0000 (17:01 +0000)]
IVGCVSW-4171 Fix intermittent failure on FileOnlyProfilingDecoratorTests

* Added destructor to prevent hanging after raising an error
* Enhanced timeouts to prevent test from failing

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: Ibf137835040edc51348d70ff67d27ef3fffac15b

5 years agoIVGCVSW-4206 Correctly pass execute network parameter.
Derek Lamberti [Tue, 3 Dec 2019 09:37:32 +0000 (09:37 +0000)]
IVGCVSW-4206 Correctly pass execute network parameter.

Change-Id: I595b89dcb6419f7cb73cee51705b90f6eec7088b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-4206 Optionally parse unsupported ops in ExecuteNetwork
Derek Lamberti [Mon, 2 Dec 2019 16:06:40 +0000 (16:06 +0000)]
IVGCVSW-4206 Optionally parse unsupported ops in ExecuteNetwork

Change-Id: I593e2540bd870d70aabb2c959f4e63a899967269
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-4015 Add input and output workload to post-optimisation structure
Narumol Prangnawarat [Fri, 29 Nov 2019 17:17:43 +0000 (17:17 +0000)]
IVGCVSW-4015 Add input and output workload to post-optimisation structure

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic9fbe1300cf8c4b8a78bad5934f0b2d18b205090

5 years agoMLCE-143 Fixed driver crash during CTS tests
Mike Kelly [Fri, 29 Nov 2019 16:35:55 +0000 (16:35 +0000)]
MLCE-143 Fixed driver crash during CTS tests

 * Only apply the Optimization when the base ReshapeLayer is connected to
   the child ReshapeLayer and no other Layer.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iccd676d657f9e7c829813f1bec9c82db8745d069

5 years agoIVGCVSW-4070 Implement "send post-optimized network structure"
Narumol Prangnawarat [Fri, 22 Nov 2019 11:26:06 +0000 (11:26 +0000)]
IVGCVSW-4070 Implement "send post-optimized network structure"

 * Send post-optimisation network structure if profiling service is enabled
 * Refactor TimelineUtilityMethods
 * Fix RecordEvent to link eventGuid with eventClassGuid
 * Add common types and guid to LabelsAndEventClasses
 * Add CreateRelationship to TimelineUtilityMethods
 * Add CreateTypedEntity to TimelineUtilityMethods
 * Add MarkEntityWithType to TimelineUtilityMethods
 * Move VerifyTimeline functions to ProfilingTestUtils
 * Post-optimisation network structure unit tests to Ref, Cl, Neon

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512

5 years agoIVGCVSW-3860 Per-channel QSymm8 support of DepthwiseConvolution2d in Cl
Teresa Charlin [Fri, 29 Nov 2019 13:59:18 +0000 (13:59 +0000)]
IVGCVSW-3860 Per-channel QSymm8 support of DepthwiseConvolution2d in Cl
    *Add the call to ReorderWeightChannelsForAcl for QuantizedSymm8PerAxis weights

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0d2e4c8328753ad15858130945b4fbb193943dfa

5 years agoIVGCVSW-4118 Fix long unit test execution
Colm Donelan [Fri, 29 Nov 2019 09:10:59 +0000 (09:10 +0000)]
IVGCVSW-4118 Fix long unit test execution

 * Reduced sleep_for timings
 * Removed duplicate SendStreamMetaDataPacket.
 * Modified SendCounterPacket::WaitForPacketSent to use wait_for
 * Modified SendCounterPacket::Send WaitingForAck to use wait_for
 * Added destructor to StreamRedirector.
 * Added method SendCounterPacketTests::HasWrittenData
 * Restructured many tests in ProfilingTests.

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I55c59cac6674ac40a1056a5302a997d5da9e9d91
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
5 years agoIVGCVSW-4209 Create a public API for the ArmNN Utils
Matteo Martincigh [Thu, 28 Nov 2019 11:35:47 +0000 (11:35 +0000)]
IVGCVSW-4209 Create a public API for the ArmNN Utils

 * Moved the relevant armnnUtils headers to the new location:
   include/armnnUtils
 * Update the header usage throughout the source code

!android-nn-driver:2387

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6

5 years agoGithub #306 Treat data_format attribute as optional in TfParser::ParseFusedBatchNorm()
Aron Virginas-Tar [Wed, 27 Nov 2019 13:29:51 +0000 (13:29 +0000)]
Github #306 Treat data_format attribute as optional in TfParser::ParseFusedBatchNorm()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I1c6583e4abb43b864dc636f8cdcd9011c763a6fe

5 years agoIVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to Neon backend
Aron Virginas-Tar [Wed, 27 Nov 2019 13:18:25 +0000 (13:18 +0000)]
IVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to Neon backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I6dadb36abc2e71f4d4309dcce6072c4a66384cf9

5 years agoMake the profiling GUID test independent from random events
Matteo Martincigh [Fri, 22 Nov 2019 14:13:02 +0000 (14:13 +0000)]
Make the profiling GUID test independent from random events

 * Removed the random generation of strings
 * Actually generating a million unique strings for the test
 * Code cleanup

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4486c06df7e546d717f72d609bd9218d6bb6cc0a

5 years agoRemove const type qualifiers with no effect
Matteo Martincigh [Thu, 21 Nov 2019 12:10:42 +0000 (12:10 +0000)]
Remove const type qualifiers with no effect

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3ddd98864eef41c0548ab907a48b025b9154a5a8

5 years agoMLCE-115 Remove redundant error checking in CL backend
Matthew Bentham [Wed, 27 Nov 2019 17:24:47 +0000 (17:24 +0000)]
MLCE-115 Remove redundant error checking in CL backend

This stuff is handled in CLPerumuteLayer::validate now

Change-Id: I552e7c0bbd1557d6b5e217c1e96aaeb2377accbd
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoGithub #274 Use non-deprecated path to boost header
Matthew Bentham [Wed, 27 Nov 2019 16:00:06 +0000 (16:00 +0000)]
Github #274 Use non-deprecated path to boost header

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75

5 years agoIVGCVSW-4170 Also convert constants to FP16 when model converted
Derek Lamberti [Wed, 27 Nov 2019 09:29:57 +0000 (09:29 +0000)]
IVGCVSW-4170 Also convert constants to FP16 when model converted

Change-Id: Ideeec890a91379bfd52774633b1b35fa1b14f434
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL to per...
Aron Virginas-Tar [Wed, 27 Nov 2019 14:48:32 +0000 (14:48 +0000)]
IVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL to per-axis case

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I66a8360b6d86e95325dee58927dcbe62ccf6ad58

5 years agoIVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in Cl
Keith Davis [Tue, 26 Nov 2019 16:01:18 +0000 (16:01 +0000)]
IVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in Cl

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ie43f20e6fb2f9b4a1e9e9eb561fcf7b5d6a01806

5 years agoAdd IsQuantizeType(DataType) for use in validation functions
Aron Virginas-Tar [Tue, 26 Nov 2019 12:50:34 +0000 (12:50 +0000)]
Add IsQuantizeType(DataType) for use in validation functions

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib790b24cfde87c92e29615da942c25bf7c98f95e

5 years agoIVGCVSW-3728 Add CL workload for Slice
Aron Virginas-Tar [Mon, 25 Nov 2019 15:37:08 +0000 (15:37 +0000)]
IVGCVSW-3728 Add CL workload for Slice

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I2ed38744e1e8c839b369be8d44c0cffccfeb370e

5 years agoIVGCVSW-3866 Add support for per-channel QSymm8 Convolution2d to Neon backend
Aron Virginas-Tar [Tue, 26 Nov 2019 14:04:54 +0000 (14:04 +0000)]
IVGCVSW-3866 Add support for per-channel QSymm8 Convolution2d to Neon backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6

5 years agoIVGCVSW-4174 Update adb version in the BuildGuideAndroidNDK.md
Nikhil Raj [Mon, 25 Nov 2019 12:03:17 +0000 (12:03 +0000)]
IVGCVSW-4174 Update adb version in the BuildGuideAndroidNDK.md

Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie31b2caafe0e83dad6a88dca6f6c7197a2fc2d5a

5 years agoIVGCVSW-4158 FP16 Mobilenet V1 and V2 30% regression on ArmNN on Mate20
Sadik Armagan [Fri, 22 Nov 2019 12:52:28 +0000 (12:52 +0000)]
IVGCVSW-4158 FP16 Mobilenet V1 and V2 30% regression on ArmNN on Mate20

* Enable FP16 mixed precision for Android Q

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I5ddb94b13385e1fec39e4407dffc8e4bc6b8d64a

5 years agoGithub #251 Surround local structs with anonymous namespace
Matthew Bentham [Fri, 22 Nov 2019 11:24:54 +0000 (11:24 +0000)]
Github #251 Surround local structs with anonymous namespace

This fixes a one-definition-rule violation

Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoIVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACL
James Conroy [Tue, 19 Nov 2019 15:28:58 +0000 (15:28 +0000)]
IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACL

* This is a temporary measure that needs to be
  removed when quantization multiplier > 1.0f
  support has been added for NEON and CL.
* Layers affected: convolution, depthwise convolution,
  dilated depthwise convolution and transpose
  convolution.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4

5 years agoIVGCVSW-4124 Replacing the "sleep_for" loop from FileOnlyProfilingConnection
Colm Donelan [Wed, 20 Nov 2019 14:59:12 +0000 (14:59 +0000)]
IVGCVSW-4124 Replacing the "sleep_for" loop from FileOnlyProfilingConnection

* Replacing the "sleep_for" loop in FileOnlyProfilingConnection with
  a producer consumer conditional mutex.
* Reducing the times sleep loop times in FileOnlyProfilingDecoratorTests.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ied2302b508b6e4e6b50809c77e3f19115449d0b6

5 years agoIVGCVSW-4151 HAL 1_2 Dequantize FP32 Per Channel Tests on CpuAcc Failing
Sadik Armagan [Wed, 20 Nov 2019 16:18:55 +0000 (16:18 +0000)]
IVGCVSW-4151 HAL 1_2 Dequantize FP32 Per Channel Tests on CpuAcc Failing

* Added support for data types QuantisedSymm8 and QuantizedSymm8PerAxis
  as they are supported on CpuAcc

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I55f81b35c8869bc37b7634bdbe91b8e3339eb648

5 years agoIVGCVSW-4070 Add CreatedNamedTypeEntity and CreateNamedTypedChildEntity
Narumol Prangnawarat [Tue, 19 Nov 2019 15:49:18 +0000 (15:49 +0000)]
IVGCVSW-4070 Add CreatedNamedTypeEntity and CreateNamedTypedChildEntity
functions with Guid

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ide3c3b0a05830af055b3a2c733af4c1c57c0dbaa

5 years agoRevert "Only enable mixed precision FP16 pooling for Android Q"
Kevin May [Tue, 19 Nov 2019 15:29:05 +0000 (15:29 +0000)]
Revert "Only enable mixed precision FP16 pooling for Android Q"

This reverts commit 60538ada2b90704abcf6473144639103d80287a5.

Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c

5 years agoIVGCVSW-1530 Add TfLite slice parser and fix transpose perm vector creation
josh minor [Wed, 13 Nov 2019 16:55:17 +0000 (10:55 -0600)]
IVGCVSW-1530 Add TfLite slice parser and fix transpose perm vector creation

* TfLite slice parser and relevant tests added
* TfLite transpose parser logic added to translate Tf/np permutation
  vector definitions to Armnn definitions
* TfLite transpose parser no permute data test modified to include
  data for default permutation vector when none specified

Signed-off-by: josh minor <josh.minor@arm.com>
Change-Id: Iebd30971bd180593dc6b8f0d5be1d1bc61a3a5bf

5 years agoIVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupport
Francis Murtagh [Tue, 19 Nov 2019 12:24:19 +0000 (12:24 +0000)]
IVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupport

 * Enable Neon EndToEnd tests for ArgMinMax QAsymm8
 * Enable Neon Layer tests for ArgMinMax QAsymm8

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Ifa7463ded4397cacb82fb3667006f08ecbe3cd32

5 years agoIVGCVSW-4077 Fix issue when NEON import disabled
James Conroy [Mon, 18 Nov 2019 17:07:43 +0000 (17:07 +0000)]
IVGCVSW-4077 Fix issue when NEON import disabled

* Removes workaround which handled null dstFactory
  when NEON import was disabled, and now handles
  this in the correct way.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief42b3c52d018f0fa71be4d4d37516f2caad1e0d

5 years agoIVGCVSW-4068 Add Guid to Workload
Narumol Prangnawarat [Mon, 18 Nov 2019 15:34:23 +0000 (15:34 +0000)]
IVGCVSW-4068 Add Guid to Workload

 * Add Guid to Workload
 * Remove circular dependency

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I15342fa7481c6bdc050e057dce2d74bba07fe2dd

5 years agoIVGCVSW-3729 Added neon slice workload and supporting neon layer tests
josh minor [Fri, 15 Nov 2019 20:53:22 +0000 (14:53 -0600)]
IVGCVSW-3729 Added neon slice workload and supporting neon layer tests

* Support added for ACL neon slice workload
* Utility function created to translate ArmNN slice layer params to ACL neon slice layer equivalent
* Neon slice layer tests added as per SliceTestImpl.hpp

Signed-off-by: josh minor <josh.minor@arm.com>
Change-Id: Id583465311879af139e8e977f16ed2280c937ac7

5 years agoMLCE-144 Cts NNAPI test cases failed
Mike Kelly [Tue, 19 Nov 2019 09:12:19 +0000 (09:12 +0000)]
MLCE-144 Cts NNAPI test cases failed

 * Fixed numerous CTS/VTS failures related to Quantization

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: If5c20256366e80b6b9bbc46b2a1c410a9b8c48e1

5 years agoIVGCVSW-4116 Update ACL pin to the 19.11 release branch
Kevin May [Mon, 18 Nov 2019 15:56:44 +0000 (15:56 +0000)]
IVGCVSW-4116 Update ACL pin to the 19.11 release branch

Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I89a920b53b6f32ff37b7a4537e7ad38eed1ff608

5 years agoIVGCVSW-4062 Update Readme for 19.11
Nikhil Raj [Mon, 18 Nov 2019 15:13:09 +0000 (15:13 +0000)]
IVGCVSW-4062 Update Readme for 19.11

* Update BuildGuideCrossCompilation.md

Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie16dfe477271e411eef0b5e68f636b81a61d5c33

5 years agoIVGCVSW-3980 Implementation of Guid generator
Narumol Prangnawarat [Fri, 15 Nov 2019 17:38:44 +0000 (17:38 +0000)]
IVGCVSW-3980 Implementation of Guid generator

 * Improve implementation of Guid Generator to separate the range of
Static Guid and Dynamic Guid
 * Unit tests to ensure non-collision

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I4ad1a75ea0b1f37155da0decafb51fc5a61e4187

5 years agoFix quantizer crash by zero tensor
Tee Jung [Wed, 13 Nov 2019 07:17:46 +0000 (07:17 +0000)]
Fix quantizer crash by zero tensor

Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I1f0dfa4ca76e1c85a2b8fb5de12039a260224951

5 years agoIVGCVSW-4117 Update version number to 19.11
Aron Virginas-Tar [Fri, 15 Nov 2019 17:19:31 +0000 (17:19 +0000)]
IVGCVSW-4117 Update version number to 19.11

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If56648c1d51014b872e81ff4239060ccbf55e8dc

5 years agoFix possible crash in case of zero dimension tensor in the ONNX
Tee Jung [Wed, 13 Nov 2019 07:23:14 +0000 (07:23 +0000)]
Fix possible crash in case of zero dimension tensor in the ONNX
parser

Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I396792d4d59172cccb50d77de7e6b74977b289ed

5 years agoIVGCVSW-3486 Add clipping parameter validation in LstmQueueDescriptor
janeil01 [Fri, 15 Nov 2019 15:00:16 +0000 (15:00 +0000)]
IVGCVSW-3486 Add clipping parameter validation in LstmQueueDescriptor

* Add clipping parameter validation in LstmQueueDescriptor
* Related UnitTest

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I86ff81cacc0e1fff5b78a8d6c2dcbf9ff57e2272

5 years agoIVGCVSW-4129 Fix thread starvation due to low capture periods
Colm Donelan [Thu, 14 Nov 2019 14:19:07 +0000 (14:19 +0000)]
IVGCVSW-4129 Fix thread starvation due to low capture periods

* Set default capture period to 10mSec.
* Validate capture period in PeriodicCounterSelectionCommandHandler
  pull it up to 10mSec if it is lower.
* Fix segmentation fault in GatordMock when receive thread closes.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I9f7ddc70bd99c102c5baef872d28329976a4dc07

5 years agoIVGCVSW-4074 Send Timeline message in RequestCounterDirectoryCommandHandler
Matteo Martincigh [Wed, 13 Nov 2019 10:56:41 +0000 (10:56 +0000)]
IVGCVSW-4074 Send Timeline message in RequestCounterDirectoryCommandHandler

 * Added call to SendTimelineMessageDirectoryPackage in the handler
 * Updated the unit tests accordingly
 * Refactored SendTimelinePacket to remove macro

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I7bb6f8575945b99a0e77ef30ecfe4dee3058669e

5 years agoIVGCVSW-4119 Fix FP16 to FP32 fallback mechanism in optimizer to work with Dequantize
Aron Virginas-Tar [Wed, 13 Nov 2019 15:16:28 +0000 (15:16 +0000)]
IVGCVSW-4119 Fix FP16 to FP32 fallback mechanism in optimizer to work with Dequantize

* Check for output data type as well as input data type when determining
  whether we should attempt to fall back to FP32 if FP16 is not supported
* Override output type for Dequantize in IsLayerSupported() instead of
  input type
* Updated original input type from FP16 to FP32 in InsertConvertFp32ToFp16LayersAfter()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6477fd17cea5a91bd8bf9ae0cf836520897d5b7

5 years agoIVGCVSW-4140 Report per-axis quantization as unsupported for DepthwiseConvolution...
Aron Virginas-Tar [Fri, 15 Nov 2019 10:22:28 +0000 (10:22 +0000)]
IVGCVSW-4140 Report per-axis quantization as unsupported for DepthwiseConvolution on ACL backends

* This is a temporary measure that needs to be removed as soon as the
  NEON and CL DepthwiseConvolution workloads will have added support
  for per-axis quantization

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I24eb285230293392a6ed50aece1101e5aed7f90e

5 years agoIVGCVSW-4073 Send stream info in the ConnectionAcknowledgedCommandHandler
Matteo Martincigh [Fri, 8 Nov 2019 11:23:06 +0000 (11:23 +0000)]
IVGCVSW-4073 Send stream info in the ConnectionAcknowledgedCommandHandler

 * Added call to ISendTimelinePacket::SendStreamMetaDataPacket
 * Added call to ISendTimelinePacket::SendTimelineMessageDirectoryPackage
 * Added new StreamMetadataCommandHandler class to the mock Gatord service
 * Updated code and unit tests
 * Added include paths to the gatord mock target

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic6d200b513175884607b7c0563cbfa4942ff2fc6

5 years agoIVGCVSW-4072 Add stream header to Timeline Message Directory packet
Matteo Martincigh [Wed, 6 Nov 2019 15:30:54 +0000 (15:30 +0000)]
IVGCVSW-4072 Add stream header to Timeline Message Directory packet

 * Refactored the WriteTimelineMessageDirectoryPacket function
 * Added the stream header to the packet
 * Updated decoders/parsers
 * Updated unit tests accordingly
 * Minor refactoring

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I58f15fde54adc6414ca9fd5fb8d6157cad867339

5 years agoNNXSW-1853 Change SubgraphViewSelector algorithm
Rob Hughes [Fri, 8 Nov 2019 15:50:10 +0000 (15:50 +0000)]
NNXSW-1853 Change SubgraphViewSelector algorithm

The current algorithm in SubgraphViewSelector has a bug that can lead to
it producing subgraphs which have a dependency cycle (see the newly
added test case 'ValidMerge' for a repro). It also fails to merge
subgraphs in some cases where it could, which leads to smaller subgraphs.
In the case of FSRCNN, the NPU cannot support these smaller subgraphs and
so this is blocking us from supporting that network.

This commit changes the algorithm to fix the dependency bug and
also make it so that subgraphs are merged in the cases that were missed
before. It also adds some unit tests to cover cases that were problematic
before, and to extend coverage for the new algorithm.

The new algorithm has two downsides compared to the previous one:

1. Disjoint subgraphs are not merged. This can never lead to a failed
compilation by the NPU and so I believe this is less of an issue than
the previous algorithm's "missed merges". This could however lead to a
runtime performance loss in some cases as the NPU will be unable
to parallelise as many operations. There are some unit tests that cover
this which I have disabled.
2. The performance is worse. I have spent some time analysing this and
for a graph with ~1000 layers the new algorithm takes 20ms vs. the
old algorithm's 4ms (on my desktop PC). I believe the performance is
still within acceptable limits. I also compared inception V3 (which was
the network which caused performance issues with the original version of
the splitting algorithm) and this new algorithm has not regressed there
(200-300us in both cases).

Change-Id: I1dd64a779f272723621e04d203b5a2752a6af2ef
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
5 years agoPrint CMake messages on stdout rather than stderr
Rob Hughes [Fri, 15 Nov 2019 09:04:17 +0000 (09:04 +0000)]
Print CMake messages on stdout rather than stderr

The default version of message("...") print to stderr, which is inappropriate
for informational messages such as the ones we are printing in these cases.

Using message(STATUS "...") makes these messages appear on stdout instead
which is more appropriate.

Change-Id: I02f41e6b4948e6938566f06d7164444bd5b8199e
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
5 years agoAdd FP16 support to DebugWorkload
Aron Virginas-Tar [Tue, 12 Nov 2019 16:15:11 +0000 (16:15 +0000)]
Add FP16 support to DebugWorkload

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ia879f2d84a1b977474ee0dafa976f2aab32bd3ae

5 years agoOnly enable mixed precision FP16 pooling for Android Q
Derek Lamberti [Wed, 13 Nov 2019 09:29:38 +0000 (09:29 +0000)]
Only enable mixed precision FP16 pooling for Android Q

Change-Id: Ic2c0ce7a7a99bbc430b7d6da272825540772e01d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoFix redundancy in call to configure() in ACL DepthwiseConvolution workloads
Aron Virginas-Tar [Thu, 14 Nov 2019 16:21:38 +0000 (16:21 +0000)]
Fix redundancy in call to configure() in ACL DepthwiseConvolution workloads

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8f698c6ec9826ce1188bc43bd59fbf7b83455c1a

5 years agoAdd SpaceToDepth to GetLayerTypeAsCString()
Aron Virginas-Tar [Thu, 14 Nov 2019 12:56:07 +0000 (12:56 +0000)]
Add SpaceToDepth to GetLayerTypeAsCString()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I263c78e02238fa7c7f9ab6408fb197664e5fe048

5 years agoCL & Neon workload factories inherit from WorkloadFactoryBase
Derek Lamberti [Wed, 13 Nov 2019 10:36:08 +0000 (10:36 +0000)]
CL & Neon workload factories inherit from WorkloadFactoryBase

Change-Id: I1f694be7ef1d333b5ef9b60ea7029454ade02628
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoFix link error due to pthread being linked in the wrong order
Rob Hughes [Wed, 13 Nov 2019 11:41:36 +0000 (11:41 +0000)]
Fix link error due to pthread being linked in the wrong order

Change-Id: I9602c758fe462b65d67de491d91fb2392b09b8bd
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
5 years agoFix a few compile errors:
Rob Hughes [Wed, 13 Nov 2019 11:53:48 +0000 (11:53 +0000)]
Fix a few compile errors:

* Replace use of non-standard integral types (e.g. u_char)
* Convert boost::filesystem::paths to std::strings using the .string()
method rather than .c_str(), because on Windows .c_str() returns a wide
character string, which is not convertible to a std::string.

Change-Id: Ia86b0653697033bb1afa01e64b5b2103dd042ffd
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-3697 Add utility function to get ArgMinMaxFunction as string
Francis Murtagh [Wed, 13 Nov 2019 16:58:20 +0000 (16:58 +0000)]
IVGCVSW-3697 Add utility function to get ArgMinMaxFunction as string

 * Allow logging of ConvertArgMinMax calls with specified Min/Max function
   which take place in HalPolicy

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Ic8c38106725023c864f7950dc9d0e2737485cfef

5 years agoIVGCVSW-4053 Enable ArgMinMax EndToEndTest for NEON/CL
James Conroy [Wed, 13 Nov 2019 15:35:59 +0000 (15:35 +0000)]
IVGCVSW-4053 Enable ArgMinMax EndToEndTest for NEON/CL

* Enabled for Float32 only, as per support in ACL.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I251fc832e3058d389ee9bef96856baff89ba6f9a

5 years agoIVGCVSW-4128 Add Signed32 to supported input types for Ref ArgMinMax
Francis Murtagh [Wed, 13 Nov 2019 15:21:09 +0000 (15:21 +0000)]
IVGCVSW-4128 Add Signed32 to supported input types for Ref ArgMinMax

 * Enabled RefLayerTests for Signed32

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Idbe6fb7607c7e44a8df560b55f28c64a4c4286cd

5 years agoIVGCVSW-3695 Add CL ArgMinMax workload
James Conroy [Thu, 19 Sep 2019 16:00:31 +0000 (17:00 +0100)]
IVGCVSW-3695 Add CL ArgMinMax workload

 * Also enabled copy to/from CL for Signed32.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I0113182891f9767de73f04dcd81252c84c996eda

5 years agoIVGCVSW-4051 Update ACL pin to 94e0cf960ea6116eb57fa88d9b951f859b52c602
James Conroy [Fri, 1 Nov 2019 15:21:48 +0000 (15:21 +0000)]
IVGCVSW-4051 Update ACL pin to 94e0cf960ea6116eb57fa88d9b951f859b52c602

* Add is_initalised() check to CLScheduler in
  ClContextControl.
* Now use CLDepthwiseConvolutionLayer instead of
  CLDepthwiseConvolutionLayer3x3.
* Now use NEDepthwiseConvolutionLayer instead of
  NEDepthwiseConvolutionLayerOptimized.

!android-nn-driver:2212

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I509af65315a4322dc820a5cc1bbd36ed6999b4a7

5 years agoIVGCVSW-4079 Add support of per-axis quantization to DepthwiseConvolution2d
Teresa Charlin [Mon, 11 Nov 2019 12:28:15 +0000 (12:28 +0000)]
IVGCVSW-4079 Add support of per-axis quantization to DepthwiseConvolution2d

!android-nn-driver:2260

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iad93c1940568ffa65ed314c8871ea66caf4f9e4a

5 years agoIVGCVSW-4069 Add ProfilingGuid to Network
Jan Eilers [Wed, 6 Nov 2019 10:02:16 +0000 (10:02 +0000)]
IVGCVSW-4069 Add ProfilingGuid to Network

Added ProfilingGuid to
    * INetwork,
    * Network,
    * IOptimizedNetwork and
    * OptimizedNetwork

!android-nn-driver:2234
!armnn:2250

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I235116992cc47b4f385b7eb9da514c6350ca00f4

5 years agoIVGCVSW-3839 Add support of per-axis quantization to reference TransposeConvolution2d
Aron Virginas-Tar [Mon, 11 Nov 2019 12:54:47 +0000 (12:54 +0000)]
IVGCVSW-3839 Add support of per-axis quantization to reference TransposeConvolution2d

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie0dc1204eee925adfb1e59aba3f1137178302184

5 years agoIVGCVSW-4064 ArmNN Master fails due to an error in RefArgMaxAxis2Uint8Test
Francis Murtagh [Mon, 11 Nov 2019 16:53:13 +0000 (16:53 +0000)]
IVGCVSW-4064 ArmNN Master fails due to an error in  RefArgMaxAxis2Uint8Test

 * Fix input data to allow for loss of precision due to valgrind which
   causes incorrect quantization of multiples of 5 with scale of 2.

Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I354dcb8117e1ab07771b78d0e4808d9f3f95925b

5 years agoIVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backends
Aron Virginas-Tar [Thu, 7 Nov 2019 15:19:52 +0000 (15:19 +0000)]
IVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backends

* Teporarily return false from IsConvolution2dSupported() whenever the
  weights tensor has per-axis quantization in order to avoid exceptions
  being thrown from ACL during attempted execution
* Should be reverted once per-axis quantization support will have been
  added to the ACL backends

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie2e1a7f3f5550a4b43f7f007ee5c86a8760872eb

5 years agoIVGCVSW-4067 Change LayerGuid to use ProfilingGuid
janeil01 [Thu, 7 Nov 2019 09:47:20 +0000 (09:47 +0000)]
IVGCVSW-4067 Change LayerGuid to use ProfilingGuid

* Refactoring to enable ProfilingGuid
* Add profiling includes to Android.mk

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8

5 years agoIVGCVSW-4077 Disable NEON memory import
James Conroy [Thu, 7 Nov 2019 14:37:09 +0000 (14:37 +0000)]
IVGCVSW-4077 Disable NEON memory import

* Temporarily handles cases in CalculateEdgeStrategy
  where dstFactory pointer is null when import is
  disabled.
* This patch is required for ensuring debug layer
  works correctly when executing a model on Neon.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I7304723246d362d6d9073c3d0b1224e194a8532c

5 years agoAdd profiling includes to Android.mk
janeil01 [Fri, 8 Nov 2019 12:03:58 +0000 (12:03 +0000)]
Add profiling includes to Android.mk

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: I8f95846a461aa77c8cff4311f92368a419bbb28d

5 years agoIVGCVSW-4108 Fixed invalid data type exception
Mike Kelly [Fri, 8 Nov 2019 12:08:35 +0000 (12:08 +0000)]
IVGCVSW-4108 Fixed invalid data type exception

 * Added support for QuantizedSymm8PerAxis to ArmComputeTensorUtils.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ib8662f216bc4b6b54e0099780f73bcf6ef05384b

5 years agoMLCE-144 Fix cts MAX_POOL_2D_V1_0 tests
Finn Williams [Wed, 6 Nov 2019 16:54:53 +0000 (16:54 +0000)]
MLCE-144 Fix cts MAX_POOL_2D_V1_0 tests

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I2da66efca40bc21d417efc42a225877d94e31428

5 years agoIVGCVSW-4107 Fix bug in ProfilingConnectionDumpToFileDecoratorTests
Aron Virginas-Tar [Thu, 7 Nov 2019 18:41:40 +0000 (18:41 +0000)]
IVGCVSW-4107 Fix bug in ProfilingConnectionDumpToFileDecoratorTests

* Replace predefined file name with randomly generated file name to
  avoid reading back old dumps

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ia48a9cda4527c585453383a5d758e1831c38604a

5 years agoIVGCVSW-4102 Move ProfilingGuid to public interface
janeil01 [Thu, 7 Nov 2019 09:32:28 +0000 (09:32 +0000)]
IVGCVSW-4102 Move ProfilingGuid to public interface

* Moved ProfilingGuid to Types.hpp
* Refactoring to enable ProfilingGuid

Signed-off-by: janeil01 <jan.eilers@arm.com>
Change-Id: Ibf77002d74e484f8a63ffd96aa14303c1f0d38ae

5 years agoIVGCVSW-3951 Create the timeline decoder
Finn Williams [Tue, 22 Oct 2019 09:30:49 +0000 (10:30 +0100)]
IVGCVSW-3951 Create the timeline decoder

 * Added ITimelineDecoder.h C interface
 * Added an example implementation of ITimelineDecoder.h
 * Added command handlers for the timeline directory and objects
 * Added tests for the decoder implementation
 * Changed ReadSwTraceMessage to take a const unsigned char*
   so it can be used by the directory command handler
 * Fixed some bugs in ProfilingUtils.cpp and related tests

Change-Id: If06faf1fe0274a8f022f194a6d3527f5ce5374c6
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
5 years agoEscape angle brackets in dot file labels
Rob Hughes [Wed, 6 Nov 2019 09:36:29 +0000 (09:36 +0000)]
Escape angle brackets in dot file labels

This was a bug that meant invalid dot files were produced due to MemCopy
layers having a name including "->".

Change-Id: If9f5b13d433f6a7328bf0ad8c7ec89cdce2462b0
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
5 years agoIVGCVSW-4065 Add a RecordEvent function
Matteo Martincigh [Mon, 4 Nov 2019 14:05:28 +0000 (14:05 +0000)]
IVGCVSW-4065 Add a RecordEvent function

 * Added RecordEvent utility function to the TimelineUtilityMethods
   class
 * Added new utility function to get a timestamp
 * Added unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ia3f8fe7397915fa6c903ce0c0abab3047cea628c

5 years agoIVGCVSW-3837 Add support for per-axis quantization to reference Convolution2d workload
Aron Virginas-Tar [Tue, 5 Nov 2019 18:00:21 +0000 (18:00 +0000)]
IVGCVSW-3837 Add support for per-axis quantization to reference Convolution2d workload

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0ac08ba4864d48e6f64c4ac645dad8ea850be112

5 years agoIVGCVSW-4038 Convert Strided_Slice Shrink_Axis_Mask Parameter to ACL format
Francis Murtagh [Tue, 5 Nov 2019 14:26:23 +0000 (14:26 +0000)]
IVGCVSW-4038 Convert Strided_Slice Shrink_Axis_Mask Parameter to ACL format

 * Add conversion method to reverse bits in Shrink_Axis_Mask
 * Add Unit tests for Neon, CL and Reference backends
 * Fix supportedness of constant layer which is causing error
   in DeepSpeech Uint8
 * Also convert the Begin_Mask and End_Mask

Change-Id: I448b083c3463558e8fb5204923ab554cd43264ba
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3444 File Only Profiling Connection
Keith Davis [Thu, 24 Oct 2019 16:30:41 +0000 (17:30 +0100)]
IVGCVSW-3444 File Only Profiling Connection

    * Add FileOnlyProfilingConnection Decorator
    * Fix bug where Conn Ack not automatically sent back
    * Modify GatordMock to use the Counter Directory class.
    * Promote DirectoryCaptureCommandHandler from GatordMock into ArmNN.
    * Remove MockUtils as it's contents were moved or deleted.
    * Rewrite GatordMockTests to use Counter Directory class.
    * Flush streams in ProfilingConnectionDumpToFileDecorator::Close.

Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I77b2aedece24150dd31691b577f3b5d81b2e226f

5 years agoGitHub #294 Add sample serialized graph
Tee Jung [Tue, 5 Nov 2019 06:17:55 +0000 (15:17 +0900)]
GitHub #294 Add sample serialized graph

converted from tensorflow model: http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v3_small_coco_2019_08_14.tar.gz

Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com
Change-Id: I5867792f36a37d574ce44738d6a412c5557b97df

5 years agoRename Optimize's errMessages to messages
Rob Hughes [Tue, 5 Nov 2019 11:27:36 +0000 (11:27 +0000)]
Rename Optimize's errMessages to messages

This parameter can contain both errors and warnings, so calling it errMessages is confusing as the user only expects to see errors here.

Ideally this rename should be propagated to the lower layers of the implementation,
but the public header change is the most useful part.

Change-Id: I062564cf38d36f950adfa7c37c090b189e068134

5 years agoIVGCVSW-4065 Use platform-specific thread id size in Timeline packets
Matteo Martincigh [Mon, 4 Nov 2019 14:05:28 +0000 (14:05 +0000)]
IVGCVSW-4065 Use platform-specific thread id size in Timeline packets

 * Using std::thread::id as a general data type for thread id
 * Added new profiling util functions for reading/writing a thread id
   to/from a buffer
 * Fixed code and unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I1aaa3bdb740c8a97010f655b1e9f7581b52e7aff

5 years agoIVGCVSW-4065 Refactor the IPacketBuffer smart pointers
Matteo Martincigh [Tue, 5 Nov 2019 11:47:40 +0000 (11:47 +0000)]
IVGCVSW-4065 Refactor the IPacketBuffer smart pointers

 * Added convenience "using" statement for the unique pointers to
   IPacketBuffer
 * Replaced all the occurrencies in the code

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Iffec3a425ffbc1ecb23012971563a48139eb32eb

5 years agoIVGCVSW-3836 Add support for Int32 per-axis scales
Aron Virginas-Tar [Mon, 4 Nov 2019 15:00:19 +0000 (15:00 +0000)]
IVGCVSW-3836 Add support for Int32 per-axis scales

* Added ScaledInt32PerAxisDecoder implementation
* Added new case for Signed32 in MakeDecoder that returns a
  ScaledInt32PerAxisDecoder if the tensor info has multiple
  quantization scales

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8b3c11091644da993044d2a0fe2aba6b06b5af56

5 years agoIVGCVSW-3843 Add support of per-axis quantization to BuildArmComputeTensorInfo
Aron Virginas-Tar [Fri, 1 Nov 2019 11:40:39 +0000 (11:40 +0000)]
IVGCVSW-3843 Add support of per-axis quantization to BuildArmComputeTensorInfo

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0bb0e9da306eee3e19dc9967a6c8bb01da998deb

5 years agoIVGCVSW-3835 Create Encoder and Decoder for QSymm8PerAxis
Keith Davis [Mon, 4 Nov 2019 08:58:33 +0000 (08:58 +0000)]
IVGCVSW-3835 Create Encoder and Decoder for QSymm8PerAxis

 * Add QuantizedSymm8PerAxis to armnn DataType (types.hpp) and
 * Add Quantize and Dequantize template for int8 in TypeUtils to be able to compute QSymm8 of the weight
 * Create PerAxisIterator for per-axis quantization
 * Create QSymm8PerAxisDecoder
 * Create QSymm8PerAxisEncoder

Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ibcfe0288a197b7ee50b543bdbd77b7edb8a547c2

5 years agoAdd fp16 support for dequantize
Jan Eilers [Fri, 1 Nov 2019 11:09:36 +0000 (11:09 +0000)]
Add fp16 support for dequantize

* Changed RefDequantizeWorkload to use Encoder/Decoder
* Added related unit tests for Cl, Neon and Ref

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ic2fd4103090dd2127c6859b49305736f7b2dfb05

5 years agoMake onnx parser to support TanH / Sigmoid / LeakyRelu layers
Tee Jung [Fri, 1 Nov 2019 07:04:42 +0000 (07:04 +0000)]
Make onnx parser to support TanH / Sigmoid / LeakyRelu layers

Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com
Change-Id: I44d24b525b78b8d3fee0197abda7bd667eb04d83

5 years agoFix crash issue
Tee Jung [Fri, 1 Nov 2019 05:27:28 +0000 (05:27 +0000)]
Fix crash issue

* armnnOnnxParser makes tensorInfo from graph->value_info
  but PyTorch does not add weight/bias tensor information to graph->value_info
  so tensorInfo of const tensor should be extracted from graph->initializer

Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com
Change-Id: Ib2656dd25abc522012cf413e843fe03949cb2eb0