nikraj01 [Wed, 29 May 2019 09:51:05 +0000 (10:51 +0100)]
IVGCVSW-3168 Refactor reference softmax workload into a single workload
Change-Id: Ie290efcbb9e3a6365cbd630cb2041e7b0f542505
Signed-off-by: nikraj01 <nikhil.raj@arm.com>
Jim Flynn [Wed, 22 May 2019 13:24:13 +0000 (14:24 +0100)]
IVGCVSW-3119 Rename MergerLayer to ConcatLayer
!android-nn-driver:1210
Change-Id: I940b3b9e421c92bfd55ae996f7bc54ac077f2604
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Nina Drozd [Mon, 27 May 2019 09:37:05 +0000 (10:37 +0100)]
IVGCVSW-3145 Refactor Reference Reshape workloads
* Removed reference reshape workloads for float32 and uint8
* Added RefReshapeWorkload
* Added check for supported datatypes for reshape in WorkloadData
* Added check for supported datatypes for reshape in RefLayerSupport
* Updated CMakeLists.txt
* Updated references to reshape workloads
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: I9941659067b022f8f7686ab0ff14776944dca3e5
Narumol Prangnawarat [Mon, 27 May 2019 10:29:59 +0000 (11:29 +0100)]
IVGCVSW-2771 Add end to end tests for splitter on Cl, Neon, Ref
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I44f8f1799f6182721751b1d117c9ada5b91f52e1
David Monahan [Mon, 27 May 2019 08:44:52 +0000 (09:44 +0100)]
IVGCVSW-3033 Unit test using a MockBackend to validate Optimizer
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I5b446905c496001ba3c48ad5090e79e80d060d4e
Francis Murtagh [Tue, 28 May 2019 07:15:28 +0000 (08:15 +0100)]
IVGCVSW-2970 Support QSymm16 for FullyConnected workloads
* Add support for QSymm16 for FullyConnected
* Add templating to Uint8 RefLayerTest to test QSymm16
Change-Id: Ie6e989daf2ca966d6c6805b8017126eb77ebfec4
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
FinnWilliamsArm [Wed, 22 May 2019 13:50:55 +0000 (14:50 +0100)]
IVGCVSW-3129 Image pre-processing fix for TFLite
* Resized images for quantized models are now statically cast to uint8
instead of quantized
* Removed optional quantization parameters from ImagePreprocessor
constructor
* Changed mean and scale for TFLite models
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Id5ffdf77f3614d10c417e769bd8ffc4a4c07308b
Francis Murtagh [Mon, 27 May 2019 11:14:10 +0000 (12:14 +0100)]
IVGCVSW-3134 Refactor FullyConnected workloads into single workload
* Refactor FullyConnected workloads into single workload.
* Refactor FullyConnected ref implementation to use Encoders
and Decoders to support all DataTypes.
* Deleted RefFullyConnectedFloat32Workload and
RefFullyConnected2dUint8Workload.
Change-Id: Iad30fb0287ab7491e1297997e7d61f1d00785541
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
David Monahan [Fri, 24 May 2019 09:46:28 +0000 (10:46 +0100)]
IVGCVSW-3033 Adding MockLayerSupport to MockBackend
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I90903af1b8c961a7727da9172a7f02031521a6ad
Matteo Martincigh [Thu, 23 May 2019 15:03:55 +0000 (16:03 +0100)]
Make the script for getting the compute library more robust
* Added an extra git fetch without specifying the remote to
allow fetching from wathever remote one is using
* Fixes a failure in our setup agents jobs
Change-Id: I64b034eec5fba5c8b113e89b5bb5724fb978e511
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Thu, 23 May 2019 14:07:33 +0000 (15:07 +0100)]
IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork CL
* Add check if Sub-tensors cannot be used, call ACL function
* Add ClSplitterWorkload functions
* Modify IsSplitterSupported to call ACL validate function
if sub-tensor cannot be used
* Also check if quantization parameters match when using sub-tensors
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I5dfd0e422b7d485dd4421a664add83d870bec5d6
Mike Kelly [Thu, 16 May 2019 11:41:34 +0000 (12:41 +0100)]
IVGCVSW-3026 Extend RefConvolution2dWorkload to support QSymm16
* Added QuantisedSymm16 as supported type for Conv2D
* Added Unit Tests for QSymm16
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I4a8176091e75abfb0ea3a4b913c213111512df75
Ruomei Yan [Thu, 23 May 2019 13:29:06 +0000 (14:29 +0100)]
IVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16
Change-Id: I47bb0f782acfa5b2d2fee9132875f9a655ea635e
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Matteo Martincigh [Thu, 23 May 2019 12:56:01 +0000 (13:56 +0100)]
IVGCVSW-3082 Fix layer execution order after a subgraph substitution
* Moved the topological sort after the replacement of the subgraph
connections (during a subgraph substitution), as the correct
connections are required when sorting the graph
Change-Id: I7c7ce542068a05b9b5ca36f5bd3f460a5eb97afd
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Mon, 20 May 2019 14:31:05 +0000 (15:31 +0100)]
IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEON
* Add check if Sub-tensors cannot be used, call ACL function
* Add computation of SplitAxis from SplitterDescriptor
* Add NeonSplitterWorkload functions
* Modify IsSplitterSupported to call ACL validate function
if sub-tensor cannot be used
* Also check if quantization parameters match when using sub-tensors
* Add more unit tests for Splitter in TfParser and TfLiteParser
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I31e4c7d055117c83c65b598c4125442173242226
Ruomei Yan [Thu, 23 May 2019 10:37:33 +0000 (11:37 +0100)]
IVGCVSW-3073 Refactor reference DepthwiseConvolution2d workloads
Change-Id: I3cf8d9dbc4f8c95e0e2311505dd7e9f9069f1ab5
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Mike Kelly [Wed, 22 May 2019 16:21:49 +0000 (17:21 +0100)]
IVGCVSW-3025: Refactor reference Convolution2d workload
* Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders.
* Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes.
* Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05
Matthew Bentham [Wed, 22 May 2019 16:20:55 +0000 (17:20 +0100)]
Silence gcc 8 warning wrt catch by value
Change-Id: Ice29df6b695b2deba7ddf43be2e711614ab3cdea
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Matteo Martincigh [Wed, 22 May 2019 13:28:16 +0000 (14:28 +0100)]
IVGCVSW-3132 Reintroduce SubGraph definition, but deprecated
* Restored old SubGraph class definition as an alias of SubgraphView
for backward compatibility
* Restored SubGraphUniquePtr
* Restored CreateSubGraphConverter method (and the corresponding
ISubGraphConverterPtr type) as a deprecated method that's been
removed from the backend interface
* Chaged the defautl implementation of OptimizeSubgraphView to call
the deprecated OptimizeSubGraph
* Changed the default implementation of OptimizeSubgraphView in the
backends
Change-Id: If69903926bf5ff2aae52c9b64b4572b355662757
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Ruomei Yan [Wed, 22 May 2019 10:24:39 +0000 (11:24 +0100)]
IVGCVSW-2758 Instructions for cross-compiling ArmNN for arm64 should install cross-compiling toolchain earlier
Change-Id: I4c64eea6fa17cd4b1c817d4bf8337ebce75851dd
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Sadik Armagan [Wed, 22 May 2019 11:11:50 +0000 (12:11 +0100)]
IVGCVSW-3116 Fix failing NN Driver Tests on Android Q
* Fixed ResizeBilinear test failure on Cpu Reference
Change-Id: I2cf317eae65f1a86ef87badefb3b32ff05dca9e8
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Les Bell [Fri, 17 May 2019 15:17:12 +0000 (16:17 +0100)]
IVGCVSW-3081 Quantizer min>=max error & missing layers
* relaxed the check to min > max in the quantization schemes
* added missing layer support for resnet_v2_50 model
* Pad, Rsqrt, Multipilcation, Subtraction, Mean
* sorted methods alphabetically in Quantizerlayer & LayerVisitorBase
Change-Id: I003401ff7ac89b60580c959ea8fd9d6fef66b88e
Signed-off-by: Les Bell <les.bell@arm.com>
Matteo Martincigh [Wed, 22 May 2019 08:42:43 +0000 (09:42 +0100)]
IVGCVSW-3088 Update the backends README file
* Updated the src/backends/README.md file with details on the new
OptimizeSubgraphView method
* Added section describing the new OptimizationViews class
* Deprecated GetOptimizations in the code
Change-Id: Icb1a9aa015394e56fb4b5120b0645a752f44134e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Tue, 21 May 2019 12:29:00 +0000 (13:29 +0100)]
IVGCVSW-3015 Fix duplicate input/output slots in sub-graph
* Avoid collecting duplicate input/output slots during the
sub-graph selection process
* Fixes the InceptionV3 quantized run
Change-Id: I737ec8576d57184d3d25bda436a7776ec7243a0d
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Surabhi Mehta [Tue, 21 May 2019 14:27:06 +0000 (15:27 +0100)]
IVGCVSW-3123 Remove duplicate step from CrossCompilation guide
Change-Id: I6fd51b8c0c51fac180692bac69edd2b1107edc56
Signed-off-by: Surabhi Mehta <surabhi.mehta@arm.com>
David Monahan [Tue, 14 May 2019 09:42:38 +0000 (10:42 +0100)]
IVGCVSW-3033 New unit tests to ensure the Optimizer can
handle multiple Graph objects
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I7ccc10a4d81eaac724a374a0d8abc70c9c79a3f4
Nina Drozd [Tue, 21 May 2019 10:17:10 +0000 (11:17 +0100)]
IVGCVSW-3088 Update Readme for 19.05
* Added Readme file for ArmnnQuantizer
* Added section about ArmnnQuantizer in armnn Readme file
* Updated ModelAccuracyTool Readme file with default values for --compute
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: I5fcead522b70086dcf63dfc6c77910a7d33d83f0
Jim Flynn [Mon, 20 May 2019 11:49:28 +0000 (12:49 +0100)]
IVGCVSW-3125 Deprecate CreateMergerDescriptorForConcatenation function
!android-nn-driver:1183
Change-Id: Ia69995b7f09cb86b64611e8efd315413e3064ca1
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Matteo Martincigh [Fri, 17 May 2019 11:15:30 +0000 (12:15 +0100)]
IVGCVSW-3030 Add unit testing for the Optimization API
* Added OptimizeSubgraphViewTests file covering a number of
use cases for the Optimization API
* Fixed a bug in the sub-graph selector algorithm that skipped the
first layer in a sub-graph if it wasn't an input layer
* Changed the graph splitting logic to make use of maps instead of
unordered_maps to keep the split sub-graphs in consistent order
between executions
* Added more common unit test utils
* Minor fixes to comply to the include file conventions
Change-Id: Iad464eaedd004109e5ef41aa487cea3ad86177d3
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Jim Flynn [Mon, 20 May 2019 10:02:46 +0000 (11:02 +0100)]
IVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcat
Change-Id: Id836372c0e4ef0c3996085facc4da6263366abcf
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Derek Lamberti [Thu, 16 May 2019 15:33:00 +0000 (16:33 +0100)]
IVGCVSW-3060 Classification tests display output value as raw float
Change-Id: I92a1e043d60fa2fe3414dc9339ef36204aca42e2
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Nina Drozd [Thu, 16 May 2019 11:09:18 +0000 (12:09 +0100)]
IVGCVSW-2967 Support QSymm16 for Constant workloads
* Validate that output is any of supported types in WorkloadData
* Validate that output is any of supported types in RefLayerSupport
* Add test for constant with QuantisedSymm16 in LayerTests
* Add test for creating constant workload in RefCreateWorkloadTests
* Add test for constant with QuantisedSymm16 in RefLayerTests
* Refactor RefConstantWorkload - BaseWorkload instead of TypedWorkload
* Refactor RefConstantWorkload - remove m_RanOnce, use PostAllocationConfigure()
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: Ic30e61319ef4ff9c367689901f7c6d498142a9c5
Jim Flynn [Fri, 17 May 2019 14:44:36 +0000 (15:44 +0100)]
IVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkload
Change-Id: I9a373a31bfabbe0f691d7f9e240ac08e072b2c7d
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Jim Flynn [Fri, 17 May 2019 12:03:57 +0000 (13:03 +0100)]
IVGCVSW-3117 Rename ClMergerWorkload to ClConcatWorkload
Change-Id: Ie0394336a772afa7b075eb562ac5191c8b3ec9f3
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Jim Flynn [Fri, 17 May 2019 14:32:17 +0000 (15:32 +0100)]
IVGCVSW-3117 Rename RefMergerWorkload to RefConcatWorkload
Change-Id: Ifeb33db919ef77bf777e114f2d84b88fd595ca2c
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Finn Williams [Thu, 16 May 2019 15:40:41 +0000 (16:40 +0100)]
IVGCVSW-3036 Change Armnn Quantizer to specify Armnn format
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I776a97ff54ea3ccc28b62afe3c512cbdc7252811
Matteo Martincigh [Fri, 17 May 2019 11:15:30 +0000 (12:15 +0100)]
IVGCVSW-3030 Add a mock backend for unit testing
* Added a mock implementation of an ArmNN backend for unit
testing
* Implemented a mock version of OptimizeSubgraphView
* Fixed a typo in the Optimization API
Change-Id: Ic7acf7cc5c2a76a918e94cdc356baae7c7597a6d
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Nattapat Chaimanowong [Thu, 16 May 2019 15:32:35 +0000 (16:32 +0100)]
IVGCVSW-2964 Fix issue with Deserializer creating ciruclar graph
*Issue was caused by using layer index with respect to flatbuffer layers
vector in place of the index property on each layer base (and vice
versa). These are not necessarily the same.
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: Ide3e33c77f394cd1b6850c7c61e4bee2dede76d3
Jim Flynn [Wed, 15 May 2019 12:03:54 +0000 (13:03 +0100)]
IVGCVSW-2972 Support QSymm16 for Merger
Change-Id: If2289b2d1fc20f4524fcf4620f01ea3a36d727d2
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Narumol Prangnawarat [Tue, 14 May 2019 13:45:29 +0000 (14:45 +0100)]
IVGCVSW-3089 Change clframework version to 19.05 Release branch
!android-nn-driver:1145
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I5a2fab03c98bfeb34154a0afe8c281a2551076cc
Telmo Soares [Thu, 16 May 2019 07:23:30 +0000 (08:23 +0100)]
IVGCVSW-3087 Changing version to 19.05
Change-Id: I35c8ae7171c23d379799ccfd524b7d6b8ff6d0c1
Signed-off-by: Telmo Soares <telmo.soares@arm.com>
Sadik Armagan [Wed, 15 May 2019 11:52:19 +0000 (12:52 +0100)]
IVGCVSW-2911 Add Android Q support to android-nn-driver infrastructure
* Updated Android.mk for Android Q build support
Change-Id: Ie3ba0b76d86c050e84b08cda4373474718d834a2
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Derek Lamberti [Tue, 14 May 2019 15:55:25 +0000 (16:55 +0100)]
IVGCVSW-3001 Dequantize the output prior to printing
Change-Id: Ibd5fb4ad102aec1f71ab99402a3e3a08b04b926b
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Matteo Martincigh [Tue, 14 May 2019 09:36:13 +0000 (10:36 +0100)]
Use the new deprecation API
* Used the new ARMNN_DEPRECATED_MSG macro instead of @deprecated
* Refactored the code to no longer use the deprecated methods where
applicable
!android-nn-driver:1126
Change-Id: Ib0578d3d6fc5a763f5fb922f67ba91fafc7796f6
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Jim Flynn [Fri, 10 May 2019 12:55:21 +0000 (13:55 +0100)]
IVGCVSW-3076 Add ConcatLayer methods to public API
!android-nn-driver:1120
Change-Id: I5192fa3deb4ea9766d38ad0bf4dfbfa0b4924c41
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Conor Kennedy [Mon, 13 May 2019 13:48:58 +0000 (14:48 +0100)]
IVGCVSW-3069 Add documentation for ModelAccuracyTool-Armnn
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Change-Id: I1e128982ba0e1c99ee4532276f679dda37095201
Matteo Martincigh [Tue, 14 May 2019 08:11:03 +0000 (09:11 +0100)]
MLCE-101 Add default dilation depthwise convolution implementation
to LayerSupportBase
Change-Id: Ib075a53cfe639e2624910a767abac6cba0fee8ed
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Bruno Goncalves [Sat, 27 Apr 2019 00:03:24 +0000 (21:03 -0300)]
MLCE-101 Add dilation support for DepthWiseConv workload
Adds unit tests for dilated depthwise conv
Change-Id: Iad0a1b33d07fb0ef8f9f6edf0fd0f83a5800a36d
Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com>
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Matthew Bentham [Mon, 13 May 2019 09:02:45 +0000 (10:02 +0100)]
MLCE-101 Add dilation parameter to serializer
Change-Id: I8142e179d38c7a2a9163cf3d30bd1f411e8e109c
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Matthew Bentham [Fri, 10 May 2019 15:55:23 +0000 (16:55 +0100)]
MLCE-101 Add dilation support to reference backend
Change-Id: I6d1ea80c9fabd8c50ee030272c51cb66e85e431d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Pablo Tello [Fri, 26 Apr 2019 16:58:13 +0000 (17:58 +0100)]
MLCE-101: Adding dilation support in conv and dconv
Added support for dilation in DepthwiseConvolution2d in the
Neon and CL backends.
Change-Id: Ie1522b498c07f80d6efcf9dc79e926c8cfa06ca5
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Narumol Prangnawarat [Mon, 13 May 2019 14:10:51 +0000 (15:10 +0100)]
IVGCVSW-3035 Correct gamma variable name
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I309dd176fe6ce1216f4259c24c306c7592827841
Matteo Martincigh [Mon, 13 May 2019 08:22:33 +0000 (09:22 +0100)]
IVGCVSW-3058 Segmentation fault running Resnetv2.50 tfite int8 model
* The execution crashed because the weights of a convolution were
null during the network execution
* Copied the weights and bias when folding a pad layer into a
convolution
Change-Id: I3ae72143d04cac90d4f878cdf3b1a08b2f2a5c90
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Conor Kennedy [Tue, 7 May 2019 06:14:23 +0000 (07:14 +0100)]
IVGCVSW-3013 Add unit tests for QSymm16 LSTM
* Add unit tests for QSymm16 LSTM
* Update supportedTypes in WorkloadData & RefLayerSupport with
DataType::QuantisedSymm16
Change-Id: I1a2627b11b707d68d7d7002f63b985f9571ee177
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Conor Kennedy [Mon, 13 May 2019 08:03:22 +0000 (09:03 +0100)]
IVGCVSW-3070 Add Documentation for ImageTensorGenerator & ImageCSVFileGenerator
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Change-Id: I071225a812e6f85b6abe83172be71913186523f4
Narumol Prangnawarat [Fri, 10 May 2019 16:19:58 +0000 (17:19 +0100)]
IVGCVSW-2834 Fix Input TensorInfo in Quantization DataSet
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I694124aa15ef2fd368d5e6e36da8b942ae270850
David Monahan [Fri, 10 May 2019 14:08:53 +0000 (15:08 +0100)]
IVGCVSW-3034 Adding a unit test to check substituteSubGraph
now works when substituting layers from another Graph
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Iebd21a4975dd0ea1fc9d62708555dae4b1809623
Éanna Ó Catháin [Fri, 10 May 2019 12:29:13 +0000 (13:29 +0100)]
IVGCVSW-3063 Modify Quantizer tool to take command line input
for preserving input/output types
Change-Id: Ib30f1e2e58407526cd881fec33f45fc4e4ed4afe
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
David Monahan [Fri, 10 May 2019 10:52:14 +0000 (11:52 +0100)]
IVGCVSW-3034 Updates to SubstituteSubGraph and
ReplaceSubgraphConnections to support Graphs instead of
SubGraphViews
* Added layer iteration function to SubgraphView similar to
the Graph's one
* Updated SubstituteSubgraph to reparent the layers to the
calling graph
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ib2f8e70decca4a59c53ceb127e07ef5a430d1005
Derek Lamberti [Fri, 10 May 2019 10:24:12 +0000 (11:24 +0100)]
IVGCVSW-2990 Add deprecation helpers
Change-Id: Ie13aa6aee9e4da14a0ca8779c95dfd647b656f95
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Matteo Martincigh [Thu, 9 May 2019 11:46:16 +0000 (12:46 +0100)]
IVGCVSW-3030 Refactor code and fix OptimizeSubgraphView
* Refactored the Optimizer code for readibility, in view of
upcoming changes
* Rename one of the ISubgraphViewConverter interface methods to
give it a more meaningful name
* Improved the OptimizationViews class, added comments and
useful funtion overloads
* Fixed an error in the default implementationof the new
OptimizeSubgraphView method in IBackendInternal
Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Thu, 9 May 2019 18:06:22 +0000 (19:06 +0100)]
IVGCVSW-3030 Added move operators to the Graph class
* Updated the LayerInGraph class to properly support
the new Reparent operation
* Improved the Graph class destruction process to take into
account eventual reparent layer operations
* Added new ForEachLayerInGraph utility function to safely
loop through all the layers in the graph
Change-Id: Ie67cbdee0c3c8625662ebfa00f860ae0d2fac59c
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Nattapat Chaimanowong [Thu, 9 May 2019 09:13:20 +0000 (10:13 +0100)]
IVGCVSW-3061 Modify NetworkQuantizer to support option to preserve input/output types
* Also add unit tests for new preserve type option
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: I860759072f2e3546698118d1bcd5e79eb4e805ec
Jim Flynn [Thu, 9 May 2019 14:35:43 +0000 (15:35 +0100)]
IVGCVSW-3072 Add MergerLayer Deserialise Backcompat test
Change-Id: Ib8ce6f8db6de0ac4df92fa4c999fe3c78705ec7e
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Matteo Martincigh [Thu, 9 May 2019 14:26:51 +0000 (15:26 +0100)]
IVGCVSW-3030 Make the OptimizationViews class move-assignable
* Added move-constructors and move-assigment operators to
both the OptimizationViews and Graph classes
Change-Id: I3f923dc58e849479ff6589dcd39dece2790172cb
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Éanna Ó Catháin [Thu, 9 May 2019 10:34:06 +0000 (11:34 +0100)]
IVGCVSW-2900 Adding the missing option to build the Accuracy Tool
to the GlobalConfig.cmake
Change-Id: I7f7e3e36fa66c5cd5b2248cab6f2b9b90d65d1a4
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
Derek Lamberti [Tue, 7 May 2019 20:33:30 +0000 (21:33 +0100)]
IVGCVSW-3031 Reparent layer to new graph
Change-Id: Ic4423b8d21d794f44ddae291853e0e3b89d11bc0
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Jim Flynn [Thu, 2 May 2019 10:33:25 +0000 (11:33 +0100)]
IVGCVSW-2833 Add Dynamic Quantization
Change-Id: Iba91e3f3625639f01d66f81a9f3e419e0e285d66
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Éanna Ó Catháin [Wed, 8 May 2019 13:00:45 +0000 (14:00 +0100)]
IVGCVSW-2900 Adding the Accuracy Checker Tool and tests
Change-Id: I4ac325e45f2236b8e0757d21046f117024ce3979
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
Derek Lamberti [Wed, 8 May 2019 09:23:08 +0000 (10:23 +0100)]
IVGCVSW-3031 Finer grained backend optimization API
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Nattapat Chaimanowong [Tue, 7 May 2019 14:01:00 +0000 (15:01 +0100)]
IVGCVSW-3067 Fix issue with QuantizerVisior not setting TensorShape correctly
* Also update unit tests for the quantizer to check the input and output
shape of the network
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: Ie804d852f2a4770d98dfb4dab6415f3d0fdd2ce4
Nattapat Chaimanowong [Tue, 7 May 2019 11:02:30 +0000 (12:02 +0100)]
IVGCVSW-2997 Refactor reference LSTM workload
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Change-Id: I6883f878d9f701a55153292769d2fc0530d2529e
Derek Lamberti [Fri, 3 May 2019 17:57:12 +0000 (18:57 +0100)]
IVGCVSW-2989 Generate subgraphs without cyclic dependencies
Change-Id: I45f81aa4ca8a964e423594fe271825c4a52b21f4
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Jim Flynn [Fri, 3 May 2019 11:54:26 +0000 (12:54 +0100)]
IVGCVSW-3038 Move MakeInputTensors to armnnUtils
Change-Id: I4352a645badde788b9e33b3675a9cc9c0fc3dc33
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Matteo Martincigh [Thu, 2 May 2019 11:44:50 +0000 (12:44 +0100)]
IVGCVSW-3030 Update the backend code to create also a list of
non-optimized SubgraphViews
* Removed pointless CreateSubgraphViewConverter method in the
IBackendInternal interface
Change-Id: Ie2d3c0e74fb3d53e67f76924ac6d05050a5e6e2e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Fri, 3 May 2019 14:54:39 +0000 (15:54 +0100)]
IVGCVSW-3014 Add GetSupportedBackends to IDeviceSpec
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I8d6474389376f715074bfa7a75613dbda35bcc6a
Matteo Martincigh [Wed, 1 May 2019 09:31:27 +0000 (10:31 +0100)]
IVGCVSW-3029 Remove any AddLayer capabilities from SubgraphView
* Removed the reference to the parent graph in SubgraphView
* Removed the AddLayer method in SubgraphView
* Updated the code where necessary to adapt to the new changes in
SubgraphView
* Fixed a check in the CreatePreCompiledWorkloadTest test function
Change-Id: I4d3af87f11ec3cd8f18a21b250a2d295da56e1a0
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Nina Drozd [Thu, 25 Apr 2019 14:45:20 +0000 (15:45 +0100)]
IVGCVSW-2834 Add dynamic quantization via datasets
* Add QuantizationDataSet class for quantization data parsed from CSV file
* Add QuantizationInput for retrieving quantization data for each layer ID
* Add unit tests for command line processor and QuantizationDataSet
Change-Id: Iaf0a747b5f25a59a766ac04f7158e8cb7909d179
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Ruomei Yan [Fri, 3 May 2019 11:10:19 +0000 (12:10 +0100)]
IVGCVSW-3003 Fix the bug in setting the same tuningLevel in the constructor
Change-Id: I53bd3a8e8f846edbebb1598559f3541698e647e5
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Jim Flynn [Wed, 1 May 2019 13:44:27 +0000 (14:44 +0100)]
IVGCVSW-3039 Unify BindingPointInfo declarations
Change-Id: I3deb2b9a37e8a8f8f2ed93c64ed0656ae911e24c
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Sadik Armagan [Thu, 2 May 2019 08:31:38 +0000 (09:31 +0100)]
IVGCVSW-2941 THIRD_PARTY_INCLUDE_DIRS is not set in armnn/tests/CMakeLists.txt for external builds
* Added stb_image libraries under third-party/stb_image
* Updates test/CMakeLists.txt to include those stb_image libraries
* stb_image libraries are dual-licensed under public domain and MIT
Change-Id: Ic179928598bb236d39fb5992042183099e78a0d7
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Ruomei Yan [Thu, 25 Apr 2019 13:24:05 +0000 (14:24 +0100)]
IVGCVSW-2773 Integrate new CL tuner into ArmNN
!android-nn-driver:1038
Change-Id: Ia94743a64109b5eddcd44b03cf6ba5b3a4de4e53
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Matthew Bentham [Tue, 30 Apr 2019 09:17:40 +0000 (10:17 +0100)]
IVGCVSW-3021 Add end-to-end flow control integration test
Currently asserts that the net fails to optimise as that
is the expected behaviour, but it's complete enough to
exercise most of the code in SwitchLayer.cpp and MergeLayer.cpp
Also, fix a bug in SwitchLayer::ValidateTensorShapesFromInputs
found by the new test.
Also, make topological sort slightly more robust to missing connections
as it should not be the job of the sorter to validate the graph.
Change-Id: I30b9e2d4769ab14a6820284871a79a5bb3eef1ef
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Narumol Prangnawarat [Mon, 29 Apr 2019 15:40:55 +0000 (16:40 +0100)]
IVGCVSW-2993: Investigate TfLite Parser test output shape validation
* Get outputTensorInfo from runtime outputs to ensure that
the results are from the running network
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ib35afeaf5f6121df7f6379cfc557ae77e5214d69
Derek Lamberti [Fri, 26 Apr 2019 12:05:17 +0000 (13:05 +0100)]
IVGCVSW-2405 Rename SubGraph to SubgraphView
Change-Id: Ie50aeccf053c20c3a01a75042bbc3acd824375af
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Mon, 29 Apr 2019 16:43:36 +0000 (17:43 +0100)]
IVGCVSW-2948 Add DeepSpeech v1 support to TensorFlowLiteSupport.md
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I18697fde21e90723bcc36cc9cc1b571652fa54e7
Teresa Charlin [Wed, 24 Apr 2019 09:17:46 +0000 (10:17 +0100)]
IVGCVSW-2983 activation layers support for QSymm16
!armnn:1023
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ie4e5c4e7cb9edec690235393fff0721fca5da6cc
Brian Joyce [Mon, 29 Apr 2019 11:42:27 +0000 (12:42 +0100)]
Fixing a broken link to MLPlatform.org
Signed-off-by: Brian Joyce <brian.joyce@arm.com>
Change-Id: Ie9e8ba683f4475af15db37f1949a330132055561
Sadik Armagan [Fri, 26 Apr 2019 16:11:47 +0000 (17:11 +0100)]
IVGCVSW-2843 Support QSymm16 via Command-line quantizer tool
* Added quantization scheme support to ArmnnQuantizer
Change-Id: Ia0202bfcd8cac0695aa3b18f9447a19b27f74f67
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Nattapat Chaimanowong [Wed, 24 Apr 2019 15:19:57 +0000 (16:19 +0100)]
IVGCVSW-2982 Refactor reference Activation workload
Change-Id: Ia3b9a56787cc68822a3c1635de82e03ecc0aae27
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Ruomei Yan [Fri, 26 Apr 2019 08:43:43 +0000 (09:43 +0100)]
IVGCVSW-2773 Update clframework pin for the jenkins timing tests
!android-nn-driver:1035
Change-Id: I36859d21f452df92f2a23d2f9f9c669f4284ac07
Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
Sadik Armagan [Fri, 26 Apr 2019 15:04:34 +0000 (16:04 +0100)]
IVGCVSW-2396 Go back to using offset memory manager
Change-Id: If6cf69b1569eb69c9481369a99ca7066be0fdd9d
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Narumol Prangnawarat [Wed, 24 Apr 2019 14:52:20 +0000 (15:52 +0100)]
IVGCVSW-2996 Add Reshape layer to ParseFullyConnected in TfLite parser
when input is > 2D to flatten the input to 2D [batch_size, input_size]
Change-Id: Id9d9ff996225c7d0938204ae0ceb330a11e264f5
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Matthew Bentham [Fri, 26 Apr 2019 15:57:29 +0000 (16:57 +0100)]
IVGCVSW-3007 ArmnnConverter: Fix bug with optional --input-tensor-shape argument
Change-Id: Icae21aa39bea57fd5de4278756cc620ffe684ed7
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
David Monahan [Thu, 25 Apr 2019 15:03:38 +0000 (16:03 +0100)]
IVGCVSW-2657: Fix to force correct quantisation parameters for QASYMM8 Softmax
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I0989ea843714ba1d5da756bb87ddefa3706b07eb
Narumol Prangnawarat [Fri, 26 Apr 2019 12:48:57 +0000 (13:48 +0100)]
IVGCVSW-3005 Correct the order of inputs and outputs of deepspeech v1
Change-Id: I36b3467e74508ad4e8f3140285f965bc63433d1d
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Pablo Tello [Wed, 24 Apr 2019 13:20:21 +0000 (14:20 +0100)]
MLCE-111: ONNX parser raw data bug
Fixed bug in ONNX parser: unable to load raw data from the binary
models.
Change-Id: Iec60d2f90b78ffe6910fdec6e6bd2eb05802ffd0
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Nina Drozd [Wed, 24 Apr 2019 14:49:12 +0000 (15:49 +0100)]
IVGCVSW-2993: Investigate TfLite Parser test output shape validation
* Added a check after enqueue workload to ensure that the outputs have the correct number of dimensions
* OutputTensors cannot be used for this as in RunTest we're specifically creating these with expected number of dimensions
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Change-Id: Ib6e5a138240e2f639f462f58caa72ae760e2b406
Narumol Prangnawarat [Tue, 23 Apr 2019 14:28:06 +0000 (15:28 +0100)]
IVGCVSW-2994 Add Reshape layer to ParseUnpack in TfLite parser
to remove the unpacked dimension of each output from Splitter
and correct ReshapeFixtureWithReshapeDimsFlatten test output shape
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I517d315475612ac8b773930f9b58cac316fa8553
Matthew Bentham [Thu, 25 Apr 2019 08:12:09 +0000 (09:12 +0100)]
Remove incorrect documentation line
This line is definitely wrong, plenty of float32 things
work in the TFLite parser, so it sets the wrong expectations.
Change-Id: I87ac01e14b916ccd767429c124c353ab136174d8
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>