Kevin May [Fri, 8 Feb 2019 16:31:42 +0000 (16:31 +0000)]
IVGCVSW-2581 Create Deserializer
* Add deserialize parser for input, output and add layers
* Add Unit Tests for simple network
Change-Id: Ia0e2a234896bbe401ed0da5f18c065cb5df51bfb
Signed-off-by: Kevin May <kevin.may@arm.com>
Signed-off-by: Saoirse Stewart <saoirse.stewart@arm.com>
Ferran Balaguer [Fri, 8 Feb 2019 17:09:55 +0000 (17:09 +0000)]
IVGCVSW-2529 DeepSpeech v1 test
Change-Id: Ieb99ac1aa347cee4b28b831753855c4614220648
Matteo Martincigh [Thu, 7 Feb 2019 17:52:41 +0000 (17:52 +0000)]
IVGCVSW-2672 Code cleanup after changes
* Minor code cleanup and refactoring
Change-Id: I9c6390c15944686134ddf4b47839762f2bb13922
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Thu, 7 Feb 2019 17:51:09 +0000 (17:51 +0000)]
IVGCVSW-2607 Implement Input range override mechanism
* Added the OverrideInputRange method to the Quantizer API
* Created OverrideInputRangeVisitor to implement the override mechanism
* Moved the quantizer utility functions to the new NetworkQuantizerUtils files
* Moved the map of quantization ranges out of the StaticRangeVisitor
and into the NetworkQuantizer
* Added unit tests
* Code refactoring and cleanup
Change-Id: I9c1d006c1b6a35fbc04584a832fbe489f8f9276d
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Mon, 4 Feb 2019 19:05:27 +0000 (19:05 +0000)]
IVGCVSW-2557 Add layer tests for Ref Detection PostProcess
Change-Id: Ia2e512c0ed035bc6ee46cd67df5e619da9770900
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Matthew Bentham [Thu, 7 Feb 2019 11:35:09 +0000 (11:35 +0000)]
Github #123 Catch exceptions by reference
Change-Id: Ie664cb7127434ad9c7a03c4a31f3c71fdebd49b9
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Narumol Prangnawarat [Mon, 4 Feb 2019 11:46:26 +0000 (11:46 +0000)]
IVGCVSW-2559 End to end tests for Detection PostProcess
* end to end tests for Detection PostProcess float and uint8
* add anchors to AddDetectionPostProcessLayer
* add anchors to VisitDetectionPostProcessLayer
* refactor code
Change-Id: I3c5a9a4a60b74c2246b4a27692bbf3c235163f90
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Bruno Goncalves [Fri, 28 Dec 2018 12:08:26 +0000 (10:08 -0200)]
Added TfLiteParser test for MnasNet
Change-Id: Ie31eee48cc14ada37526130998da7a482d56b1ea
Jim Flynn [Thu, 7 Feb 2019 17:42:32 +0000 (17:42 +0000)]
IVGCVSW-2553 Change BOOST_TEST to BOOST_CHECK_MESSAGE in CheckConstTensorPtrs
Change-Id: I13614fe3d29eb1040b5927dd69992aab6c136bb6
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Nina Drozd [Thu, 7 Feb 2019 11:09:27 +0000 (11:09 +0000)]
IVGCVSW-2608: support static quantization of Activation
Change-Id: Ia9afd15d002d4454ec72f219c5cf214704f6ae31
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
jimfly01 [Tue, 5 Feb 2019 09:20:11 +0000 (09:20 +0000)]
IVGCVSW-2553 Add Unit Test for ConstTensor layer visitors
Change-Id: I20a67135e4af7aa1f28f5000d73122f4e5e3acd5
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Derek Lamberti [Thu, 7 Feb 2019 11:14:11 +0000 (11:14 +0000)]
IVGCVSW-2609 Quantize BatchNormalizationLayer
Change-Id: I7b847112a0322ffc8b88a0708d8439bfb97cfe2c
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Saoirse Stewart [Tue, 5 Feb 2019 17:27:06 +0000 (17:27 +0000)]
IVGCVSW-2581 Update Schema.fbs to refer to vector of tables
Change-Id: Ib52e4b5db540093ae9290697ace246e26f99dadb
Bruno Goncalves [Fri, 28 Dec 2018 12:09:53 +0000 (10:09 -0200)]
Added TfLiteParser test for InceptionV4Quantized
Change-Id: Iad57395b0231a0960e7fc27c1d487bdee8a1f464
Bruno Goncalves [Thu, 27 Dec 2018 18:15:38 +0000 (16:15 -0200)]
Added TfLiteParser test for ResNetV2
Change-Id: If45696594503cd093c7d5f3b5001b20e9bb2e573
Derek Lamberti [Wed, 6 Feb 2019 16:20:46 +0000 (16:20 +0000)]
IVGCVSW-2654 Test quantization of addition, input and output
Change-Id: I6c61df213278e6ba65807932548bb2eaa159deba
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Nattapat Chaimanowong [Thu, 31 Jan 2019 15:36:39 +0000 (15:36 +0000)]
IVGCVSW-2580 Integrate serialization schema code generation to build process
Change-Id: I092df948346281878be7e0a1d31b0748d99a99b2
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Derek Lamberti [Tue, 5 Feb 2019 16:00:08 +0000 (16:00 +0000)]
IVGCVSW-2606 Produce quantized InputNetwork from simple FP32 InputNetwork
Change-Id: I2140a7af5961ddf8267fbb127202de3900ea79e3
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
FrancisMurtagh [Mon, 4 Feb 2019 15:41:17 +0000 (15:41 +0000)]
IVGCVSW-2551 Add Descriptor and name only unit tests for Visitor
* Add concrete subclasses for layers taking descriptor as argument
* Add unit test cases for all layers
Change-Id: Ie0135b34a5a41e5ce654b7c3186eccea392ab919
Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
Narumol Prangnawarat [Thu, 31 Jan 2019 15:31:54 +0000 (15:31 +0000)]
IVGCVSW-2557 Ref Workload Implementation for Detection PostProcess
* implementation of DetectionPostProcessQueueDescriptor validate
* add Uint8ToFloat32Workload
* add implementation of Detection PostProcess functionalities
* add ref workload implemenentation for float and uint8
* add layer support for Detection PostProcess in ref
* unit tests
Change-Id: I650461f49edbb3c533d68ef8700377af51bc3592
Bruno Goncalves [Thu, 27 Dec 2018 18:15:01 +0000 (16:15 -0200)]
Added TfLiteParser test for InceptionV3Quantized
Change-Id: I6ed434b798c617f85ca1faa7c5eef4cdabff4a07
Bruno Goncalves [Thu, 27 Dec 2018 18:13:58 +0000 (16:13 -0200)]
Added TfLiteParser test for MobilenetV2Quantized
Change-Id: I0896c5f74d4e432a2ea8eff3cbe2db0702aa9ed9
FrancisMurtagh [Fri, 1 Feb 2019 11:48:58 +0000 (11:48 +0000)]
IVGCVSW-2552 Add unit tests for the input and output layers for Visitor
Change-Id: I73ae9b43fa1631fdec423177d37fffc719c71f88
Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
Conor Kennedy [Fri, 1 Feb 2019 07:23:17 +0000 (07:23 +0000)]
IVGCVSW-2280 Add unit tests for RESIZE_BILINEAR NEON operator
* Add uint8 tests
Change-Id: I178e34a638411fa065bdc4c722136a02ba9e000b
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Matteo Martincigh [Thu, 31 Jan 2019 15:35:59 +0000 (15:35 +0000)]
IVGCVSW-2603 The macros ARMCOMPUTECL_ENABLED and ARMCOMPUTENEON_ENABLED
no longer work
* Added two master variables ARMNN_COMPUTE_CL_ENABLED and ARMNN_COMPUTE_NEON_ENABLED
to android-nn-driver/Android.mk to easily control backend support
* Setting either of those two new variables then properly sets the
corresponding build macro
* If a specific backend gets disabled, the corresponding source files
will be excluded from the build
* Unified the usage of the pre-compile macros
!android-nn-driver:613
Change-Id: I582ff73493b70ba9e22ca2e38d875a0f19566c8a
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Thu, 31 Jan 2019 16:44:26 +0000 (16:44 +0000)]
IVGCVSW-2604 Fix bug that made it impossible to execute inference tests on certain backends
* Read compute devices from the CL as strings and convert them into BackendId objects afterwards
Change-Id: Icded1c572778f5a213644e3052ff6dfe7022128b
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Matteo Martincigh [Thu, 31 Jan 2019 12:09:49 +0000 (12:09 +0000)]
IVGCVSW-2471 Code cleanup where necessary
* Added comments for the new API functions
* Added comments to some critical parts of the code
* Removed unnecessary code
Change-Id: I04d4e7373b45b8a3806cacc93a8bd09351c0972a
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Éanna Ó Catháin [Thu, 31 Jan 2019 10:28:20 +0000 (10:28 +0000)]
MLCE-90 Fixing issues with NEON pad tests
Change-Id: I3e971c66798610d2c96445fa3babb7cc90cf8031
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
Aron Virginas-Tar [Thu, 31 Jan 2019 13:12:34 +0000 (13:12 +0000)]
IVGCVSW-2601 Fix for ExecuteNetwork output data printing bug
Change-Id: I7e8d377cdbddf0176ae05d8b6b2fd03c6f614168
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Aron Virginas-Tar [Wed, 30 Jan 2019 17:41:47 +0000 (17:41 +0000)]
IVGCVSW-2564 Fix output buffer initialization bug in ExecuteNetwork
Change-Id: I69eac52c9c944a5d209c5c7432c1b7f46e64f05b
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Matthew Bentham [Wed, 30 Jan 2019 17:40:01 +0000 (17:40 +0000)]
IVGCVSW-2522 Add DCO requirement to Contributor Guide
Change-Id: Ieb3d69317395ef4ed1ef631ae98b4277db3d2e49
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Nattapat Chaimanowong [Wed, 30 Jan 2019 13:33:11 +0000 (13:33 +0000)]
IVGCVSW-2579 Create Flatbuffers schema for simple Armnn network
Change-Id: Ief6b1891a362f0f9bc3d388634ec551ab742503d
Matteo Martincigh [Thu, 24 Jan 2019 14:06:23 +0000 (14:06 +0000)]
IVGCVSW-2458 Refactor the Optimize function (Network.cpp) so that
subgraphs are optimized by the backends
* Added a new method OptimizeSubGraph to the backend interface
* Refactored the Optimize function so that the backend-specific
optimization is performed by the backend itself (through the new
OptimizeSubGraph interface method)
* Added a new ApplyBackendOptimizations function to apply the new
changes
* Added some new convenient constructors to the SubGraph class
* Added AddLayer method and a pointer to the parent graph to the
SubGraph class
* Updated the sub-graph unit tests to match the changes
* Added SelectSubGraphs and ReplaceSubGraphConnections overloads
that work with sub-graphs
* Removed unused code and minor refactoring where necessary
Change-Id: I46181794c6a9e3b10558944f804e06a8f693a6d0
Aron Virginas-Tar [Tue, 29 Jan 2019 11:09:51 +0000 (11:09 +0000)]
IVGCVSW-2437 Inference test for TensorFlow Lite MobileNet SSD
Change-Id: If7ee1efa3ee79d9eca41c5a6219b3fc42e740efe
Aron Virginas-Tar [Thu, 24 Jan 2019 17:05:36 +0000 (17:05 +0000)]
IVGCVSW-2564 Add support for multiple input and output bindings in InferenceModel
Change-Id: I64d724367d42dca4b768b6c6e42acda714985950
FrancisMurtagh [Tue, 29 Jan 2019 12:15:23 +0000 (12:15 +0000)]
IVGCVSW-2549 Add name only layer unit tests for Visitor
Change-Id: I304ddd3efa2f1c5a8e2143276a97c031a624601e
Bruno Goncalves [Thu, 27 Dec 2018 16:21:43 +0000 (14:21 -0200)]
Added ConstantLayer support to TfLiteParser
Change-Id: Iecc4fe8208b442d9c872e56c3d47249f959c6cc1
jimfly01 [Mon, 28 Jan 2019 12:51:53 +0000 (12:51 +0000)]
IVGCVSW-2569 Add implementation of ConstTensor Accept functions
* Create the required ConstTensors and pass them to the appropriate
visit method. Back fill of dummies added during IVGCVSW-2547
* Moved the VisitDetectionPostProcessLayer function declaration in
ILayerVistor to its correct location after the
VisitDepthwiseConvolution2dLayer functions.
Change-Id: I0bd2f8c3603cbdb933b1216ead96dd8273eb5013
Nattapat Chaimanowong [Tue, 29 Jan 2019 09:56:02 +0000 (09:56 +0000)]
IVGCVSW-2443 Add Cl support for Greater operator
Change-Id: I7eb3b2e712dbaa5c13f6cf3a1da63df4d2bd4de5
kevmay01 [Mon, 28 Jan 2019 08:37:25 +0000 (08:37 +0000)]
IVGCVSW-2447 Add Greater Workload to Neon
Change-Id: Ic165061cc61534e7e391a398ea7c2918240e2d3b
FrancisMurtagh [Mon, 28 Jan 2019 17:19:41 +0000 (17:19 +0000)]
IVGCVSW-2548 Add member function to check layer pointer not null
Change-Id: I48c8795e546e3a36414ae88316908519d5879628
Conor Kennedy [Mon, 28 Jan 2019 11:32:34 +0000 (11:32 +0000)]
IVGCVSW-2575 Update CL pin to latest master
!android-nn-driver:586
Change-Id: Ib881710f438887df0a95d776b51a5c0d2bf002dd
FrancisMurtagh [Mon, 28 Jan 2019 14:03:21 +0000 (14:03 +0000)]
IVGCVSW-2548 Add the TestLayerVisitor class
* Add abstract base class TestLayerVisitor
Change-Id: Id453f3ad9721f3680166a41b75a1880cf20032f7
Narumol Prangnawarat [Fri, 25 Jan 2019 10:46:40 +0000 (10:46 +0000)]
IVGCVSW-2556 Add Layer implementation for Detection PostProcess
* Add DetectionPostProcessDescriptor.
* Add implementation for DetectionPostProcessLayer.
* Unit test to validate output.
Change-Id: If63e83eb2a2978c549071c7aeb272906e7c35fe9
Éanna Ó Catháin [Fri, 25 Jan 2019 10:01:40 +0000 (10:01 +0000)]
MLCE-84 Add Neon Pad support and unit tests
Change-Id: I0d949a9f23a61af5013efdd18572b29fae585f2a
jimfly01 [Thu, 24 Jan 2019 22:29:33 +0000 (22:29 +0000)]
IVGCVSW-2547 Add Accept function to IConnectableLayer
* Layers which callback VisitXXXLayer with ConstTensor
have been implemented with dummies to speed up implementation
and unblock IVGCVSW-2531
Change-Id: I49b8035f12ec72d6bd6cee95075692f98c48e193
Nattapat Chaimanowong [Fri, 25 Jan 2019 13:20:39 +0000 (13:20 +0000)]
IVGCVSW-2563 Fix bug in TfLiteParser::ParseConcatenation
Change-Id: I8fbf27b383a821e062f72809cc2e269fcd18851c
Matthew Bentham [Wed, 23 Jan 2019 15:23:13 +0000 (15:23 +0000)]
Github issue #127 - Use https to check out ComputeLibrary
Change-Id: I55f2f21b0603055787a174269ed74b99f84ec29c
Nattapat Chaimanowong [Thu, 24 Jan 2019 15:25:26 +0000 (15:25 +0000)]
IVGCVSW-2503 Fix end to end test support for Boolean output type
Change-Id: Ie94743c769fc17d976849ba4b22af3a13561ff55
saoste01 [Thu, 24 Jan 2019 12:31:58 +0000 (12:31 +0000)]
IVGCVSW-2554 Update NEON scheduler to output workload names rather than unknown
Change-Id: I0d14baf9002c894790da171a6d60c0e4ac929078
Narumol Prangnawarat [Wed, 23 Jan 2019 18:06:26 +0000 (18:06 +0000)]
IVGCVSW-2555 Add no-op implementation for Detection PostProcess
* Added DetectionPostProcessQueueDescriptor to WorkloadData
* Added CreateDetectionPostProcess function in WorkloadFactory.hpp
* Added stub implementation of the CreateDetectionPostProcess
in workload factories
* Added DetectionPostProcessLayer stub implementation
* Added AddDetectionPostProcessLayer to Network
* Added IsDetectionPostProcessSupported to LayerSupportBase
Change-Id: Ifc071b3b6b12877c997bdcc43d769c8f891d5c6c
kevmay01 [Thu, 24 Jan 2019 14:05:09 +0000 (14:05 +0000)]
IVGCVSW-2503 Refactor RefElementwiseWorkload around Equal and Greater
* Remove Equal and Greater from RefElementwiseWorkload
* Create RefComparisonWorkload and add Equal and Greater
* Update ElementwiseFunction for different input/output types
* Update TfParser to create Equal/Greater with Boolean output
* Update relevant tests to check for Boolean comparison
Change-Id: I299b7f2121769c960ac0c6139764a5f3c89c9c32
FrancisMurtagh [Thu, 24 Jan 2019 10:53:39 +0000 (10:53 +0000)]
IVGCVSW-2512 Add Gather operator parser to TfParser
* Add ParseGather to TFParser
* Add Unit tests for Gather Operator
!armnn:562
Change-Id: Idff45c2d3d8d683aa9eb2c4a63123c8d6054609e
jimfly01 [Wed, 23 Jan 2019 16:10:17 +0000 (16:10 +0000)]
IVGCVSW-2546 Add ILayerVisitor to the public API
Change-Id: I803de435a538856de2daa7872e27d3f5beabba4f
Finn Williams [Tue, 22 Jan 2019 14:18:11 +0000 (14:18 +0000)]
IVGCVSW-2430 Add logistic parser to tf-lite
* Added implementation and unit tests for
sigmoid function for tf-lite parser
* Refactored relu, relu6 and logisitc parser
to reduce code duplication
Change-Id: I00a2bd90bbc9144a2f84981f63b2cd1756b68a16
narpra01 [Wed, 23 Jan 2019 15:23:11 +0000 (15:23 +0000)]
IVGCVSW-2511 Add end to end Gather layer test
* Add end to end test for Gather operator
* Add Support for int32 to Constant layer for Ref
* Add Int32Workload
* Add RefConstantWorkload as template for float, uint8, int32
* Remove unused RefBaseConstantWorkload
* Remove unused RefConstantFloat32Workload
* Remove unused RefConstantUint8Workload
* Add support check for int32 in LayerSupport functions
Change-Id: Ic970588a49ebe2aafb12be8adef52371feacaa7b
Sadik Armagan [Mon, 17 Dec 2018 11:32:16 +0000 (11:32 +0000)]
IVGCVSW-1048 RESIZE_BILINEAR NEON operator
* Implemented NeonResizeBilinearWorkload
* Enable ResizeBilinear Operator unit tests for Neon
!android-nn-driver:405
Change-Id: Iec3100ccaf7d246e8eaf683d1f3ec9191df5241e
Aron Virginas-Tar [Wed, 23 Jan 2019 14:00:00 +0000 (14:00 +0000)]
IVGCVSW-2534 Fix bug TfLiteParser::ParseReshape()
Change-Id: I44d63552d2552842f02b2c870466851581f65b1a
saoste01 [Tue, 22 Jan 2019 16:43:51 +0000 (16:43 +0000)]
IVGCVSW-2545 Update CL pin to latest master
Change-Id: If6a211ce8a25cf95bb8b02851694e9502d25e671
Matteo Martincigh [Tue, 15 Jan 2019 16:11:44 +0000 (16:11 +0000)]
IVGCVSW-2455 Move the extra backend code to a new git repo
* Refactored all the workload factories to use "virtual" properly
* Removed the precompiled layer support from the optimizer
* Disabled compiler optimization for debug build to ease debugging
Change-Id: I6ab83abd78f422771359295e25b79bb9be613cfd
Nattapat Chaimanowong [Wed, 23 Jan 2019 09:59:14 +0000 (09:59 +0000)]
IVGCVSW-2467 Update Boolean type support
Change-Id: I0ab3339e8803a3e4e700d8fec9883eccc524b31e
Matthew Bentham [Mon, 21 Jan 2019 15:45:51 +0000 (15:45 +0000)]
IVGCVSW-2515 Fix compilation when TfParser is disabled
Change-Id: Ia0019134f76764cd4fe6ed9dc1423b8aba411d33
narpra01 [Fri, 18 Jan 2019 16:53:53 +0000 (16:53 +0000)]
IVGCVSW-2510 Ref workload implementation for Gather operator
* add implemenentation for GatherQueueDescriptor validate function
* add FirstInputTypedWorkload to allow type check on the first input tensor only
* add ref workload implemenentation for float and uint8
* add Gather layer support in Ref
* unit tests
Change-Id: I4578a3211f11d24aa29d15bcf7f45b0445bcd1ee
Matthew Bentham [Tue, 22 Jan 2019 17:26:59 +0000 (17:26 +0000)]
Fix compilation wrt IVGCVSW-2467
Change-Id: I073473774e302c2d77e717e1ad718594ce1b5feb
Bruno Goncalves [Thu, 27 Dec 2018 16:20:35 +0000 (14:20 -0200)]
Added AddBroadcastReshapeLayer method to TfLiteParser
Change-Id: I6027f6dcdb3ed23505f0a9c780bd3e3d45d3daff
narpra01 [Wed, 16 Jan 2019 17:22:19 +0000 (17:22 +0000)]
IVGCVSW-2509 Add GatherLayer implementation
* implementation of ValidateTensorShapesFromInputs
* unit tests
Change-Id: I1ed88f8ba0ea20329a259c5f36caea4b1fbeb013
Nattapat Chaimanowong [Tue, 22 Jan 2019 16:10:44 +0000 (16:10 +0000)]
IVGCVSW-2467 Remove GetDataType<T> function
Change-Id: I7359617a307b9abb4c30b3d5f2364dc6d0f828f0
Aron Virginas-Tar [Tue, 22 Jan 2019 14:10:39 +0000 (14:10 +0000)]
IVGCVSW-2535 Fix crash in ExecuteNetwork when no compute device is specified
Change-Id: If8d6516286557a6381561805cd53b5659b38f6a6
Bruno Goncalves [Wed, 19 Dec 2018 14:52:01 +0000 (12:52 -0200)]
Added ParsePad method to TfLiteParser
Change-Id: I2e671f66cf1b0a24b4ca9e96b554dc7db3af9655
Bruno Goncalves [Wed, 19 Dec 2018 14:51:45 +0000 (12:51 -0200)]
Added ParseMean method to TfLiteParser
Change-Id: Idfedf82479fb3d4bb2962fc3cfc6c76e57331943
Bruno Goncalves [Tue, 18 Dec 2018 15:40:30 +0000 (13:40 -0200)]
Added ParseMul method to TfLiteParser
Change-Id: I72e61a5ece52d69b289a1559907e2fb3084bfa4a
Bruno Goncalves [Tue, 18 Dec 2018 14:56:22 +0000 (12:56 -0200)]
Added ParseAdd method to TfLiteParser
Change-Id: I24d916eca8ef1efb70d08b5c4f5123bb56a76c3e
narpra01 [Wed, 16 Jan 2019 09:53:09 +0000 (09:53 +0000)]
IVGCVSW-2508 Add no-op factory implementations and layer for Gather operator
* Added GatherQueueDescriptor to WorkloadData
* Added CreateGather function in WorkloadFactory.hpp
* Added stub implementation of the CreateGreater function in workload factories
* Added GatherLayer stub implementation
* Added AddGatherLayer to Network
* Added IsGatherSupported to LayerSupportBase
Change-Id: I0408fd54e88a7d4e3d9e1c2811a9323f0da52a04
Matthew Bentham [Tue, 15 Jan 2019 17:57:00 +0000 (17:57 +0000)]
Github issue #120 - Embed TfLite schema
Change-Id: I57375375b2f3f59b89dbf45750f733bf25b5eb90
Ferran Balaguer [Wed, 16 Jan 2019 11:21:56 +0000 (11:21 +0000)]
IVGCVSW-1656 Add Mean support to Tf Parser
* Update TensorFlowSupport.md
Change-Id: I6fb7f4a4b32397901e0c8b44477a8238879e5917
Matteo Martincigh [Fri, 11 Jan 2019 13:25:59 +0000 (13:25 +0000)]
IVGCVSW-2454 Merge together the pluggable backends work (was in a
separate branch) and master
* Brings in all the changes done for the pluggable backends
* Added sub-graph support and tests
* Added precompiled layer support and tests
* Moved BackendSettings to a separate file
* Removed the backend-specific code
* Ported DebugLayer and associated functionality
* Included fixes to make those changes work with master
Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488
Éanna Ó Catháin [Mon, 14 Jan 2019 15:50:08 +0000 (15:50 +0000)]
MLCE-86 Reversing the pad list in the ClPadValidate function similarly to whats done in the constructor.
Change-Id: I9488cebd63767c0c51d9ee6333d5aaf0e4a85847
Ferran Balaguer [Fri, 11 Jan 2019 19:29:18 +0000 (19:29 +0000)]
IVGCVSW-1656 Add Mean support to Tf Parser
Change-Id: I3d31d6b72be1984acdb51fd9e7b5488a7aa5d832
Matteo Martincigh [Thu, 10 Jan 2019 17:34:20 +0000 (17:34 +0000)]
IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
code base
* Made the virtual functions in ILayerSupport.hpp pure
* Created a LayerSupportBase class with the default implementation of
the interface
* Made the backend layer support classes inherit from the base
class, instead of directly from the interface
* Refactored the profiler and the profiling event classes to use
the BackendId instead of the Compute
* Implemented a proper MemCopy support method
* Changed Compute to BackendId in the profiling API and objects
* Removed static references to pluggable backends
!android-nn-driver:492
Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
Matthew Bentham [Wed, 2 Jan 2019 13:26:31 +0000 (13:26 +0000)]
MLCE-82 Add IsLayerSupported tests for MEAN
Change-Id: I43be451f490db0154021f47a2fd49d1269cf5b95
Matthew Bentham [Thu, 10 Jan 2019 12:52:31 +0000 (12:52 +0000)]
IVGCVSW-2466 Update compute library pin
Change-Id: I349f663e5e2d404930a5f9289d311e67a5a409ea
Mohamed Nour Abouelseoud [Wed, 9 Jan 2019 14:19:58 +0000 (14:19 +0000)]
IVGCVSW-2345 Add Rsqrt support in Tensorflow Parser
Change-Id: I7c7b65bd77b06925efdaf2c9c98c30994a12de42
saoste01 [Tue, 8 Jan 2019 13:55:59 +0000 (13:55 +0000)]
IVGCVSW-2438 Add Minimum operator support (CL)
* Added CL unit tests
Change-Id: Ia4af49b133774141384a177f5b042e65764bf682
Conor Kennedy [Wed, 9 Jan 2019 07:57:38 +0000 (07:57 +0000)]
IVGCVSW-2441 Add Minimum operator support (NEON)
Change-Id: I0bc48f118aba419abb659657b83224401fac0715
Matthew Bentham [Tue, 8 Jan 2019 17:52:37 +0000 (17:52 +0000)]
Refactor: Don't include all ComputeLibrary function definitions everywhere.
Just include the function definition that is specifically needed for each workload.
Also, tighten up the scope where Compute Library functions are available.
Knocks about 30seconds off a 4m30s single-threaded compile of the Neon workloads.
Change-Id: Idac438f3bc77ff978295fbc9505cb42447def145
Mohamed Nour Abouelseoud [Thu, 27 Dec 2018 12:39:16 +0000 (12:39 +0000)]
IVGCVSW-2371 Add Rsqrt Ref implementation
*Added Unit Tests
Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
Matteo Martincigh [Fri, 4 Jan 2019 18:01:21 +0000 (18:01 +0000)]
IVGCVSW-2421 Remove the template-based version of armnnUtils::Permute
in favor of a type-indepent implementation that takes void-pointers
* The new implementation requires the size of the type to be passed
to the function
* Updated all the usages accordingly
* Removed the old implementation no longer used
!android-nn-driver:469
Change-Id: I37f4e6d62a38fbb8ec8c39bb559a2c54c83365d4
Sadik Armagan [Thu, 27 Dec 2018 11:23:44 +0000 (11:23 +0000)]
IVGCVSW-2384 Add Split parser function to Tensor flow parser
* Added Unit test
* Updated TensorFlowSupport.md file
Change-Id: I5f07de5e91ffb681c0ad17c7c73ee0326e7f1e0a
Matteo Martincigh [Tue, 18 Dec 2018 09:26:39 +0000 (09:26 +0000)]
MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't work
* Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution
* Added conversion utilities to permute/reshape the weights as appropriate
when using CL and Neon backends
* Updated the reference implementation of the convolution
* Updated the relevant unit tests accordingly
!android-nn-driver:459
Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18
Nina Drozd [Fri, 4 Jan 2019 09:34:21 +0000 (09:34 +0000)]
IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,
default cases are handled by DefaultLayerSupport
Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6
ruoyan01 [Thu, 3 Jan 2019 15:10:00 +0000 (15:10 +0000)]
IVGCVSW-2370 Code clean up after Equal operator implementation where necessary
StringMapping was located in the backendsCommon
Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568
Mohamed Nour Abouelseoud [Wed, 2 Jan 2019 14:32:24 +0000 (14:32 +0000)]
IVGCVSW-2205 Reversed workaround for COMPMID-1813
Change-Id: Icf7ef88a2eaef80ec32cc718b0ca9d26e830ed07
Mike Kelly [Thu, 20 Dec 2018 17:03:06 +0000 (17:03 +0000)]
IVGCVSW-2308 Add Conv2d tests where stride > 1
Change-Id: Iae6a3bfad06cb669ef0abea465d03163bb8316f5
Matthew Bentham [Mon, 31 Dec 2018 15:49:42 +0000 (15:49 +0000)]
MLCE-82 Add Neon Mean support and unit tests
Factor out new BuildArmComputeReductionCoordinates function
from CL backend into ArmComputeTensorUtils.
Update NEON LayerSupport and WorkloadFactory objects
Change-Id: Icc975ec699199bffafbdb207323df509d35e1e04
narpra01 [Fri, 21 Dec 2018 18:30:00 +0000 (18:30 +0000)]
IVGCVSW-2353 Ignore control inputs in TensorFlow parser
* Allow control inputs from TensorFlow graph but ignore them in ArmNN graph.
* Add utility function to test ArmNN graph structure.
* Add ArmNN graph structure tests in TensorFlow paresr to ensure that control inputs
are ignored in ArmNN graph as well as their inputs that are not used anywhere else.
Change-Id: Ib0ea0d2df85e3fc79b748fa4c9d20e0649352bc1
Matthew Bentham [Wed, 12 Dec 2018 16:15:59 +0000 (16:15 +0000)]
MLCE-80 Remove strong typing from NeonBatchNormalization
Technical debt work towards adding some new Neon workloads
Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf
Ferran Balaguer [Fri, 28 Dec 2018 18:15:24 +0000 (18:15 +0000)]
IVGCVSW-2375 Add ParseAddN function to TfParser
* Unit tests in AddN.cpp
Change-Id: Ifb2fa1051d5d92c5d9a5ca751abee4e81ebe39c9
Matthew Bentham [Mon, 31 Dec 2018 13:40:25 +0000 (13:40 +0000)]
Update to latest compute library
Change-Id: I297aac3c57d201fdbd71119f004a64f57ec5657f
Sadik Armagan [Mon, 24 Dec 2018 09:01:31 +0000 (09:01 +0000)]
IVGCVSW-2389 WorkloadUtils: Add profiling to tensor mapping.
Change-Id: Ibe1b27b268011878c7dce3c96efea01402453027
Mark O'Connor [Wed, 28 Nov 2018 09:12:45 +0000 (10:12 +0100)]
Update README.md
Change-Id: I74f0d27881fcc42d962fdd61562811a1f53dd0eb