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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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>
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
Tee Jung [Fri, 1 Nov 2019 11:55:21 +0000 (11:55 +0000)]
Match shape in between initializer and tensor
* Added extra dims definition for the second dimension of the weights
Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ifeeff5c3d4733dbb9c246242fc4b796eb4d515a5
Matthew Bentham [Fri, 1 Nov 2019 13:29:48 +0000 (13:29 +0000)]
Better error reporting for unconnected layers
Change-Id: I3c461e5449cf4bfa94d6d5e8dee03c210f2734e5
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Aron Virginas-Tar [Thu, 31 Oct 2019 14:35:58 +0000 (14:35 +0000)]
IVGCVSW-4050 Add backward compatibility deserialization test for ResizeBilinear
* Added test SerializeResizeBilinear to ensure that ResizeBilinear
layers are serialized as Resize layers
* Added test EnsureResizeBilinearBackwardCompatibility to ensure
the Deserializer is still able to deserialize an old binary that
contains a ResizeBilinear layer and that it creates the correct
equivalent Resize layer from it
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If227c5f1f3d027dff7d8f306dee97fd488755a72
Narumol Prangnawarat [Thu, 31 Oct 2019 14:24:02 +0000 (14:24 +0000)]
IVGCVSW-3698 Add EndToEnd Layer test for ArgMinMax
* Add EndToEnd test implementation for ArgMinMax
* Add EndToEnd tests for Ref
* Fix output data type of ArgMinMax in WorkloadFactory
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I6d07d25bb96ab21422584284046222257ddee43c
ricbur01 [Thu, 31 Oct 2019 16:22:18 +0000 (16:22 +0000)]
Increase tolerance for bias scale quantization calculation for ResNet50v2
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I033ef445fa8e5ae825cfde29927b88e97e20f093
Matteo Martincigh [Thu, 31 Oct 2019 11:02:47 +0000 (11:02 +0000)]
GitHub #292 Build the ML-examples using only ArmNN's public frontend API
* Refactoring of some of the public API headers
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I9006fe49945b10a6b83908b05aa4a6556639b491
Aron Virginas-Tar [Thu, 31 Oct 2019 13:45:16 +0000 (13:45 +0000)]
Fix bug in deserializitaion of ResizeLayer
* Fixed return value for armnnSerializer::ResizeMethod_Bilinear
in ToResizeMethod()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If5ea0fbfec6986d11c409f7072390b8c65805aa9
Finn Williams [Thu, 31 Oct 2019 11:15:06 +0000 (11:15 +0000)]
IVGCVSW-4049 Fix potential threading issue with the SendCounterPacket thread
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I311270dac0ba90b04e3488572e6b045546114a12
Matthew Bentham [Thu, 31 Oct 2019 09:55:01 +0000 (09:55 +0000)]
Github #277 Add option to use shared boost libraries
Pass -DSHARED_BOOST=ON to cmake to link dynamically to boost.
This makes it possible to use standard package-installed boost
libraries in a native build.
Change-Id: I6cbd72fae8b0cf8ae07f4382ab0510854c1623fd
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Matthew Bentham [Mon, 14 Oct 2019 11:00:56 +0000 (12:00 +0100)]
Github #220 Mention deprecated Caffe features in the Caffe parser README
Change-Id: I443dcc9545392a0b17ffd700d2f14cbed64d35e7
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Matteo Martincigh [Tue, 29 Oct 2019 15:03:22 +0000 (15:03 +0000)]
GitHub #292 Move BackendRegistry.hpp to the public API
* Moved to BackendRegistry.hpp include/armnn
* Updated makefiles and sources accordingly
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
Aron Virginas-Tar [Wed, 30 Oct 2019 16:03:19 +0000 (16:03 +0000)]
IVGCVSW-3842 Add per-axis quantization support to ValidateBiasTensorQuantization()
* Altered the function to validate all the scale values in the bias
tensor info when per-axis quantization is enabled
* Added unit test to check if ValidateBiasTensorQuantization() works
as intended
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I676d17690cda6bbdd41da5fdbaa50a3d3b5fd102
Sadik Armagan [Wed, 30 Oct 2019 16:15:26 +0000 (16:15 +0000)]
IVGCVSW-4039 AndroidQ (HAL 1.2) driver support for Fp16
* Call ACL Validate function for validating Floor operator on CL backend
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I2206ec86de6eabd18c12d023116d1f4c24487e0d
Narumol Prangnawarat [Wed, 30 Oct 2019 12:48:31 +0000 (12:48 +0000)]
IVGCVSW-4037 Add a CreateNamedTypedChildEntity method
* Added new method to the TimelineUtilityMethods class
* Added unit tests
* Code refactoring
* Skipped the 0 when generating a dynamic GUID for testing purposes
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic2c8033ad010e07b0f8b7971ce653263e21c6f97
Narumol Prangnawarat [Wed, 30 Oct 2019 12:48:31 +0000 (12:48 +0000)]
IVGCVSW-4036 Add CreateNamedTypedEntity function
* Add CreateNamedTypedEntity function
* Add NameEntity function
* Add TypeEntity function
* Unit tests
Change-Id: I3cc27157a0b41c8709b0a468f93b58b63a1ad8d1
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Aron Virginas-Tar [Tue, 29 Oct 2019 17:58:36 +0000 (17:58 +0000)]
IVGCVSW-3831 Add support of per-axis quantization to TensorInfo
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iea09539c92d51e546fbad8b2903b59fc08d66618
Matteo Martincigh [Mon, 28 Oct 2019 15:24:34 +0000 (15:24 +0000)]
IVGCVSW-4035 Add a CreateTypedLabel function
* Create new utility function in the TimelineUtilityMethods class
* Added unit tests
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I63704b94d5cc6861e4e160de2aae4ae497699dd2
Aron Virginas-Tar [Tue, 29 Oct 2019 13:58:06 +0000 (13:58 +0000)]
Add GetResizeMethodAsCString() function to TypesUtils.hpp
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id00eeb7f5e833226aee5e03f8711ab2ae5a84e30
Aron Virginas-Tar [Mon, 28 Oct 2019 16:06:50 +0000 (16:06 +0000)]
Refactor Resize layer tests
* Move implementations to newly created source file
ResizeTestImpl.cpp, leave only the declarations in
the header
* Reduce code duplication by extracting common code
into a generic implementation template
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib8aa395e5fb4470b26cbe943c177f6b64c860a93
Matteo Martincigh [Mon, 28 Oct 2019 11:42:50 +0000 (11:42 +0000)]
IVGCVSW-4033 Provide a utility method to send the 'well known'
labels and event classes
* Added utility method SendWellKnownLabelsAndEventClasses
* Added unit tests
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Id8ec0d0eb6861feb8b61731e656d1571effc904a
Jim Flynn [Fri, 25 Oct 2019 12:17:30 +0000 (13:17 +0100)]
IVGCVSW-4031 Provide well known profiling GUIDs
Change-Id: Ibf99b025f51503e8937012b655aad74698f32e38
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Mon, 28 Oct 2019 10:48:05 +0000 (10:48 +0000)]
Fix ExecuteNetwork no longer printing out the inference results,
breaking some of the nightly builds
* The TensorPrinter must be called regardless of the value of
the output tensor files, it will automatically handle an empty
file path by only printing the results to the console
* Code refactoring
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I548ec7cf6d51badf78643c9a6c1c56ea9200142b
Aron Virginas-Tar [Mon, 28 Oct 2019 11:04:10 +0000 (11:04 +0000)]
Fix names of quantized types in GetDataTypeName()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I485b7f1823a5eb1bb3832a7853d80a3fa00319fb
alanhsu5678 [Fri, 25 Oct 2019 15:44:16 +0000 (23:44 +0800)]
Refine SerializeDeserializeQuantizedLstm for the validation of
NELSTMLayerQuantized in ACL
Change-Id: I663874da474722a191e55f6c7f6bc127a72fc485
Signed-off-by: alanhsu5678 <gg9662558@gapp.nthu.edu.tw>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Tee Jung [Wed, 23 Oct 2019 06:42:24 +0000 (06:42 +0000)]
Bug fix on serialization of tensor with qsymm16 type
Signed-off-by: Jung Tae-young <naey05@gmail.com>
Change-Id: Ie3958c25fae752a8ec010ff6c77e4b625dec1f68
Matteo Martincigh [Tue, 22 Oct 2019 10:07:45 +0000 (11:07 +0100)]
IVGCVSW-4022 Create a DeclareLabel utility function
* Created new TimelineUtilityMethods class
* Created the DeclareLabel utility methods inside the new class
* Added unit tests
Change-Id: Ife0f7853a556d48206b76baeb3934344a990bee9
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Tue, 22 Oct 2019 09:00:28 +0000 (10:00 +0100)]
IVGCVSW-4018 Move QuantizeHelper.hpp to armnnUtils
* Moved QuntizeHelper.hpp to armnnUtils
* Reordered parameters for QuantizedVector and added default
values for qScale and qOffset to make life easier when
using the function for non-quantized types such as Float16
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I28c263dfa425f1316feccb4116839a84f5d568e5
Aron Virginas-Tar [Thu, 24 Oct 2019 16:07:43 +0000 (17:07 +0100)]
IVGCVSW-4008 Add profiling mode to ExecuteNetwork
* Removed the requirement for specifying a data file for each
input tensor
* Added the possibility to generate dummy tensor data (filled
with 0s) if no data files are specified by the user
* Warn the user when they request to save the output to a file,
but the input was generate, therefore rendering the output
useless
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I8baed116dcd99fe380e419db322dc7e04ab1c653
Nikhil Raj [Fri, 25 Oct 2019 14:16:37 +0000 (15:16 +0100)]
IVGCVSW-4032 Update BuildGuideAndroidNDK.md with the TF commit ID that has tf_proto_file.txt
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>
Change-Id: Id925c136536c3c9182236b253220294bfd4619aa
James Conroy [Fri, 25 Oct 2019 08:44:14 +0000 (09:44 +0100)]
IVGCVSW-3962 Return 0 for Neon GetExportFlags()
* Fixes issue where MemImport workload was being
inserted into a graph when changing from a NEON
to Ref workload. A MemCopy will now be performed
instead.
* Improves existing ImportAlignedPointerTest by
adding check for expected output.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I606dbbe0166731c62fbe4cc1966c558ade66d6bb
Jim Flynn [Thu, 24 Oct 2019 17:07:44 +0000 (18:07 +0100)]
IVGCVSW-4028 Add TimelinePacketWriterFactory to ProfilingService
Change-Id: I1baf6ff49fc591577efab8190352f2ae5a7dc5e5
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Jim Flynn [Thu, 24 Oct 2019 10:58:06 +0000 (11:58 +0100)]
IVGCVSW-4027 Add the IProfilingGuidGenerator interface
Change-Id: Idfb80d73171aa2b57d4dcf01dc137817cf19d2bd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Aron Virginas-Tar [Wed, 23 Oct 2019 16:38:17 +0000 (17:38 +0100)]
IVGCVSW-4007 Add StandInLayer for unsupported operations in TfLiteParser
* Fixed bug in custom operator support that caused all custom operators
to be parsed as a DetectionPostProcessLayer
* Added support for handling unsupported operators (built-in or custom)
by replacing them with a StandInLayer in the generated network
* Added options to TfLiteParser to control whether we want to use
StandInLayers when we encounter unsupported operators, or we prefer
to throw a ParserException as until now
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I125a63016c7c510b1fdde6033842db4f276718c4
Sadik Armagan [Thu, 24 Oct 2019 09:26:05 +0000 (10:26 +0100)]
IVGCVSW-3950 Create SendTimelinePacket interface and class
* Implemented ISendTimelinePacket interface and its implementation SendTimelinePacket
* Implemented TimelinePacketWriterFactory
* Implemented unit tests for SendTimelinePacket functions
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I0a47586437f99510394d4d94589dccfb397d38e5
Colm Donelan [Wed, 23 Oct 2019 13:18:56 +0000 (14:18 +0100)]
IVGCVSW-4011 Add Unit tests for StandInLayer
* Added network level unit tests with different number of inputs
and outputs.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I251296ca98a34f459181fed32343e7c579938eab
Aron Virginas-Tar [Tue, 22 Oct 2019 15:24:48 +0000 (16:24 +0100)]
Refactor backward compatibility deserialization tests
* Change C-style arrays to vectors and simplify string
construction
* Leave whitespace after comma in initializer list
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3adddae61e79cbcd878d13532d4199fc2581a328
Aron Virginas-Tar [Wed, 23 Oct 2019 09:41:35 +0000 (10:41 +0100)]
IVGCVSW-4010 Add serialization support for StandInLayer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I2017c15b485b82437c6ffdac4d3112bcc2cbe9e9
Sadik Armagan [Wed, 23 Oct 2019 10:22:39 +0000 (11:22 +0100)]
IVGCVSW-4013 Test that the quantizer fails gracefully
* Added Quantizer test for StandIn Layer
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I48bb9cadb48e20ee8e5b3dcf9e2f9fdb3b68351d
Jammy Zhou [Mon, 21 Oct 2019 08:44:40 +0000 (16:44 +0800)]
Fix build failures on RPi 4B
Signed-off-by: Jammy Zhou <jammy.zhou@gmail.com>
Change-Id: I12562c4a9671cd43884e7c0c023ca463a99c3aa2
Nikhil Raj [Tue, 22 Oct 2019 16:19:23 +0000 (17:19 +0100)]
IVGCVSW-4021 Fixing failure in the ExecuteNetworkDynamicBackends test
Change-Id: I24ecd8ccf3e3c1586abc906f6ee9bdfd652e5c39
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Aron Virginas-Tar [Tue, 22 Oct 2019 13:22:17 +0000 (14:22 +0100)]
IVGCVSW-3995 Add Quantizer support for ComparisonLayer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iab9b234d233591391a8e8626b7e8df3b7b0770a0
Narumol Prangnawarat [Tue, 22 Oct 2019 13:17:11 +0000 (14:17 +0100)]
IVGCVSW-3980 Add ProfilingGuid and ProfilingGuidGenerator API
* ProfilingGuid
* ProfilingDynamicGuid
* ProfilingStaticGuid
* ProfilingGuidGenerator API
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: If950415f059d07d34cf64e13a9b4663dd032ec34
Aron Virginas-Tar [Tue, 22 Oct 2019 10:44:47 +0000 (11:44 +0100)]
IVGCVSW-4020 Add backward compatibility deserialization test for Equal and Greater
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic185987e2aba23a857ae59b7115a1c0c53048978
Keith Davis [Thu, 17 Oct 2019 08:52:50 +0000 (09:52 +0100)]
Fix for bug where ProfilingConnectionDumpToFactory is not used in profiling service
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I962093766a79fefc8fb91b9bc3d5bd8f28c35114
Francis Murtagh [Mon, 21 Oct 2019 09:52:54 +0000 (10:52 +0100)]
IVGCVSW-3669 Fix TfLiteParser to set Splitter layer outputs' quantization params
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I6c69f1f2f0f9c49ddada57b41d5802919ea14b25
Derek Lamberti [Mon, 21 Oct 2019 15:51:11 +0000 (16:51 +0100)]
IVGCVSW-4009 Enable IsLayerSupported tests again
Change-Id: Ie4e32246783c5e6df6421eef77bbc0ac86381259
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Narumol Prangnawarat [Mon, 21 Oct 2019 13:58:26 +0000 (14:58 +0100)]
Fix Unpack in TfLiteParser missing quantization parameters
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I026e4880013fa4ed83b6c4643dda7e4d100014a5
Finn Williams [Tue, 15 Oct 2019 13:22:13 +0000 (14:22 +0100)]
IVGCVSW-3989 Create the Counter Directory Decoder
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: If388e60434eae39d82b639d2275680679963624c
Aron Virginas-Tar [Mon, 21 Oct 2019 13:09:11 +0000 (14:09 +0100)]
IVGCVSW-3996 Add deserialization test for ComparisonLayer
* Added DeserializeComparison.cpp that contains float32 and quantized
deserialization test cases for all comparison operations
* Removed DeserializeEqual.cpp and DeserializeGreater.cpp, as they
have become redundant
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9577168721e1bc6bcc5bb2b35edf82390a816597
Aron Virginas-Tar [Fri, 18 Oct 2019 14:42:58 +0000 (15:42 +0100)]
IVGCVSW-3999 Add unit tests for new comparison operations
* Refactored existing tests for Equal and Greater and moved them
to ComparisonTestImpl.cpp
* Removed EqualTestImpl.cpp and GreaterTestImpl.cpp
* Added new unit tests for GreaterOrEqual, Less, LessOrEqual
and NotEqual
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I25013200beb1acb88e83b813c5382cb277c74cd7
Matteo Martincigh [Mon, 21 Oct 2019 10:33:50 +0000 (11:33 +0100)]
Github #275 Generate versionned libraries
* Fixed typo that broke the versioning of libarmnnQuantizer.so
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3cfe2e2a79c81f66c715f355d0a4554d41b5cb45
Derek Lamberti [Mon, 21 Oct 2019 13:10:38 +0000 (14:10 +0100)]
IVGCVSW-4009 Get string name for StandInLayer type
Change-Id: I6808937bd35a2419814d04016b780efa6bb8724c
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Derek Lamberti [Mon, 21 Oct 2019 09:46:16 +0000 (10:46 +0100)]
IVGCVSW-4009 StandInLayer frontend API
Change-Id: I058c57b554769799c6775813215070ef47790e3d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Aron Virginas-Tar [Thu, 17 Oct 2019 15:11:54 +0000 (16:11 +0100)]
IVGCVSW-3992 Add serialization support for ComparisonLayer
* Added serialization support and serialization-deserialization test
for Comparison
* Added backward compatibility tests for Equal and Greater, to make
sure they are serialized and deserialized as Comparison
* Refactored serialization tests and reduced code duplication by
taking advantage of operator==() recently added for Descriptors
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id0fd94ef4b17e4e51c8005e585ea3c47f9c1bd8d
Aron Virginas-Tar [Wed, 16 Oct 2019 16:45:38 +0000 (17:45 +0100)]
IVGCVSW-3993 Add frontend and reference workload for ComparisonLayer
* Added frontend for ComparisonLayer
* Added RefComparisonWorkload
* Deprecated and removed Equal and Greater layers and workloads
* Updated tests to ensure backward compatibility
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
Colm Donelan [Fri, 18 Oct 2019 15:49:28 +0000 (16:49 +0100)]
IVGCVSW-3721 Add support for startup sequence (Mock Gatord service).
Fixing logic error in PeriodicCounterCaptureCommandHandler. Default
quiet operation should be false and the unit tests should set it to
true.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icabf30819985811e42168a98909b44a6c5f5d4df
Matteo Martincigh [Fri, 18 Oct 2019 13:59:19 +0000 (14:59 +0100)]
Github #275 Generate versionned libraries
* Improved parsing of the ArmNN's version at compile time
* Reading the version directly from the Version.hpp file, to
make sure not to break any build made with a different
build system than CMake (or Ninja)
* The version macro is set in the Version.hpp just like before,
so setting it from the command line is no longer necessary
!android-nn-driver:2126
Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I0820094607734d283ded030e4ded0ae6f5889c86
Jim Flynn [Fri, 18 Oct 2019 12:21:43 +0000 (13:21 +0100)]
IVGCVSW-4005 Add PacketFamilyId to version resolver
Change-Id: Ief9373871438df4e1d353bbc545a3ee4f25c1fb0
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Jim Flynn [Thu, 17 Oct 2019 16:37:10 +0000 (17:37 +0100)]
IVGCVSW-4002 Add FamilyId to CommandHandlerKey
Change-Id: I0bb0bf77da2bcd7f4746078c4ccee9acc98638a7
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Colm Donelan [Thu, 17 Oct 2019 13:02:44 +0000 (14:02 +0100)]
IVGCVSW-3409 Create the ProfilingService class
* Improve the error handling in SocketProfilingConnection to close the
socket when an error has been detected.
* Update the CommandHandler thread to handle a closed socket.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I1577c8d7d57a7af9bde98c2dec12cb19a3afb21d
Colm Donelan [Wed, 16 Oct 2019 11:24:20 +0000 (12:24 +0100)]
IVGCVSW-3721 Add support for startup sequence (Mock Gatord service).
* Updated ExecuteNetwork to propagate a configured Runtime down to RunTest.
* Fixed the creation of PeriodicCounterCaptureCommandHandler to match
other handlers.
* Moved around some printouts to make the MockGatorD output more useful.
* Added details to the exception handling for problems in the
GatordMockService receive thread.
* Mockutils::ConstructHeader is only used in GatordMockTests. Moved it
in there and deleted MockUtils.hpp
* Refactored SendPeriodicCounterSelectionList to use ProfilingUtils.
* Added PeriodicCounterSelectionResponseHandler to received packet echoed back.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I4accdbf6cf5dd3f7dcc12b210b8360b4a5e4e277
Guillaume Gardet [Tue, 15 Oct 2019 06:47:26 +0000 (08:47 +0200)]
Move version definition to its own file
* Move the ArmNN version to a separate ArmnnVersion.txt file
* Updated makefiles accordingly
!referencetests:206978
!android-nn-driver:2110
Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ib1a34d38b5f4c7490108ea91d930cf5417d1ca94
Matteo Martincigh [Thu, 17 Oct 2019 12:26:21 +0000 (13:26 +0100)]
IVGCVSW-3400 Fixed include directives for Gatord builds
* Using proper include directives with include paths
* The relative paths used were causing trouble when building
on other CI systems
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I897a80d1f56fbdbc3c714a50a0598210d8f0a03c
Narumol Prangnawarat [Wed, 16 Oct 2019 11:16:26 +0000 (12:16 +0100)]
IVGCVSW-3930 Create the Timeline Relationship Binary Packet
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ia3f93a25cd26c6d9116c2112d1e8d07be438bf39
Matteo Martincigh [Wed, 16 Oct 2019 09:29:17 +0000 (10:29 +0100)]
IVGCVSW-3931 Create the Timeline Event Binary Packet
* Added WriteTimelineEventBinaryPacket function
* Added unit tests
* Code refactoring
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I36b6a8b26bb46eb5ea97bb711ef7e153ea6d851f
Jan Eilers [Wed, 16 Oct 2019 08:54:15 +0000 (09:54 +0100)]
Refactor ProfilingUtils
* Added decl_id to all swtrace stream messages
* Adjusted unit tests to include decl_id
* Refactored code to reduce code duplication
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I7a607765d9e65b1c08e4f914acbeda392400f6a4