Age | Commit message (Collapse) | Author |
|
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com>
Change-Id: I84b52f8c7d7d0c1063c0daae0750dd820447aa6c
|
|
* This is to enable later work to instrument the Optimizer.
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Change-Id: I2cf1fe022e0d100d6d8705adfbb8cab3ffc96a86
|
|
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Change-Id: Ifcdafc12ca09455af2389bf84e34b6b87bbb0b15
|
|
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Change-Id: I2705fe04b5ec3a6046584d443f10d2d5cb3b5b87
|
|
* Created method in Graph.cpp/hpp ConstructErrorMessageForUnconnectedInputs() to
verify weights and bias are set for FullyConnected layers.
* Above method called in Graph.cpp InferTensorInfos() to print a more descriptive
message when the weights or bias for a FullyConnectedLayer is not set.
* Added try-catch in TestUtils.cpp Connect() to ensure input slot is available
when connecting two layers. This ensures we catch the case where bias is
is not enabled and we try and set a bias layer.
* Added unit tests to check for LayerValidationError when weights or
bias is not set on a FullyConnectedLayer.
* Added unit test to check for LayerValidationError when bias is not
enabled and we try and connect bias to FullyConnected Layer.
* Seperated FullyConnected EndToEnd unit test method into two methods.
First, performs tests on EndToEnd examples asserting output value.
Second, performs tests on error catching.
* Added comments to created methods.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I5207d8c5ebacfff598556742ccd4f53eef7dee0c
|
|
* Upgrade doctest to version 2.4.6 to allow Arm NN to build with
glibc 2.34
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Iff2ef286ba5ad0e0ec0f54f510253a2ec4b464d3
|
|
* Add ClearImportedInputs/Outputs function to IRuntime
* Add UnImport function to ITensorHandle
* Remove mutex from IWorkingMemHandle
Change-Id: I34c9b6e1618755e10f3b4597afa1d9a9ea97e5fe
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com>
|
|
isn't set
* Updated code in Graph.cpp InferTensorInfos() to be more descriptive.
* Added method VerifyConstantLayerSetTensorInfo() in Graph.cpp/hpp
to error when ConstantLayer TensorInfo is not set.
* Updated Optimize() in Network.cpp to call VerifyConstantLayerSetTensorInfo().
* Added unit test with ConstantLayer TensorInfo not
set to catch error in VerifyConstantLayerSetTensorInfo().
* Added comments around method VerifyConstantLayerSetTensorInfo().
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I366596243f7c5823676222e2d0cce1335bc8c325
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id1e933f6ae55ddc1a57c80c9f6a5757ccb61f018
|
|
in BackendRegistry'
* Updated IRuntime interface for providing custom memory optimizer strategy.
* Enabled selecting existing memory optimizer strategy by using BackendOptions
* Added MemoryOptimizerStrategyLibrary that sets one of the existing memory optimizer
strategies selected by user
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I037f8ac8efa79c0f71bd63e379101e3ad92d80c9
|
|
* Removes deprecated AddLayer, IsLayerSupported functions
* Marks the whole LayerVisitor class as deprecated not just the
constructor. This required to wrap all Accept functions in a
no deprecate macro because the LayerVisitor is used as a parameter in
there
* Removes usage of deprecated LayerVisitor and replaces it
with ExecuteStrategy. This required a few structural changes
in the unit tests
* Adds a default implementation for IStrategy called StrategyBase
* Changes pyarmnn to use non deprecated constructor for
INetworkProperties and adds related unit test
* Marks usage of deprecated code in pyarmnn as deprecated. This
required to extend INetworkProperties to allow backwards compatibility
* Removes deprecated functions from CpuAcc, GpuAcc and Ref backends
Note: This patch breaks compatibility with backends that are not
updated in this patch
!android-nn-driver:6325
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
|
|
* Added front-end
* Added Reference workload
* Added Serializer & Deserializer support
* Added unit tests
* Added NDHWC DataLayout
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Iec4d39e7433b5334d52fa44cf8efc6bcd39319d8
|
|
* Add front end
* Add reference workload
* Add unit tests
* Add Serializer and Deserializer
* Update ArmNN Versioning
Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I9ac1f953af3974382eac8e8d62d794d2344e8f47
|
|
* Add ParseGather to support Gather operator on ONNX
* Add Support of int64 converted to int32 for constant
* Add OnnxParserTestUtils
* Refactor ValidateTensorShapesFromInputs of GatherLayer
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ie9dff640240e14a062fef38f7faf0ccc212de5f7
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I257c3e79fa715170ac57caafc59131057c3a3b9c
|
|
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I2503e6995c83316094257318743a756da600bb6c
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ifc5e6f2e36767cb2a5cbf281d40ec9989b581abc
|
|
* Update acl and ref backend capabilities
* Add check for AsyncExecution capability in LoadedNetwork
* Add new exception for capabilities
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I2f053c845a64f336e96d452793639c6e0d3eaa89
|
|
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I69a6ceda0d3e8d39947df71a2ad0d365ac7767d8
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
|
|
* Add functionality to only output network details in ExNet
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I0c45e67193f308ce7b86f1bb1a918a266fefba2e
|
|
compatibility
* Deprecate publicly visible API and forward to new function name
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I25fe8a303b50ecb478abd35ca034ad09bd737fe4
|
|
* Deregister backends in BackendHintTest.
* Deregister backend in ThrowBackendUnavailableException
* Clean up dynamic backends when an exception is thrown from
RuntimeImpl::RuntimeImpl.
* Use CHECK_THROWS_AS_MESSAGE syntax in ClCustomAllocatorTests.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I0e6e5413dd074b5fcfc9515c85cb8d40a4a0b73c
|
|
* Initialized the new variable.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I3d86d43455dd2df4246d76a2ac7cb49d8a48b786
|
|
* Condition used to check if m_BiasTensorInfo had a value then obtain a value from m_WeightsTensorInfo
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I1b68ed98baa54a20663728b8871dcfa35c3347f0
|
|
* Add test for invalid backend and nullptr
* Small refactor
* Throw exception on nullptr allocator instead of assert
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I94ce4f61d7cb3123831f1acd98165ae14c40033a
|
|
* Added missing comma to output.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I10dde7666ea1e6ea7ebe5bd497d18fc838cb9812
|
|
Add conditional compilation check to Cl specific header
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ib196b8ef4dc5fcfd1d1ccd3f29abf8e0ecd020cb
|
|
* Updates the runtime options with a CustomAllocatorMap which allows to define a CustomAllocator for specific backends
* Change IBackendInternal interface to use a shared pointer to a custom allocator
* Update ClBackend.hpp/cpp to use the CustomAllocator
* Adds an example application and unit test which uses a CustomAllocator for GpuAcc
* Refactor of the interface to use MemorySource instead of the user Mapping cl_mem directly
* Modify the BackendRegistry to also hold a registry of CustomAllocators
* BackendRegistry Deregister will also deregister any allocators associated with that backend id
* set_global_allocator within the BaseMemoryManager so that it always matches the currently used allocator
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I156d819686021865f4375e6cb7a5c5dec8fee9e8
Signed-off-by: David Monahan <david.monahan@arm.com>
|
|
* Add switch for network details during profiling
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I8bd49fd58f0e0255598106e9ab36806ee78391d6
|
|
* Pass m_shapeInferenceMethod to OptimizerOptions in ExecuteNetwork
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I90280fb7629092d3b66e8a3968ca9e35a0df854a
|
|
* Updated FullyConnected layer member variables when cloning as
some backends still require them.
* Added SetConstant call when using deprecated AddFullyConnectedLayer
method to ensure backwards compatibility.
* Added SetConstant to SimpleSample to ensure it runs on all backends.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ie7b4e4b868f23f8fcf9c41ffd12e2ea9ea53afca
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I2a7a9b7b21848e2b3258788f06b01159f95a0d6c
|
|
* Constant weights and biases are now stored as Constant layers.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Updated Schema with IsConstant and ConstantTensorsAsInputs.
* Updated Ref backend to handle constant weights and
bias as inputs rather than reading from member variables.
* Added dynamic or constant input EndToEnd tests.
!android-nn-driver:5959
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ibf3cf437df1100e4b322b0d303c575c6339f9696
|
|
* Fixed unit test failures happening on threads.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I2a6048f75ece4a9f4c2116306838ff55385aabe7
|
|
* Add GUID as field to layer details and profiling events
* Add Optional GUID param to existing tests
* Improve Details macro to be inline function
* Fix some formatting
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I66f192a90a7642b3ee8e7dda0d3f428cce002581
|
|
* Fixed PreCompiledObject type (was const void** instead of void*)
* Fixed bug where a new shared_ptr was being created instead of allowing
std::move to convert the unique_ptr into a shared_ptr.
* Improved tests to ensure that the original pointer is maintained.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I3f50d51775ee0180c894c2843ed7bc990a771dea
|
|
* Add new ProfilingDetails class to construct operator details string
* Add new macro which helps append layer details to ostream
* Add ProfilingEnabled to NetworkProperties so that profiling can be
realised when loading the network
* Add further optional info to WorkloadInfo specific to convolutions
* Generalise some JsonPrinter functions into JsonUtils for reusability
* Remove explicit enabling of profiling within InferenceModel as it is
done when loading network
* Add ProfilingDetails macros to ConvolutionWorkloads for validation
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ie84bc7dc667e72e6bcb635544f9ead7af1765690
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I57bcbdec3eb0155f41af0fe7d6abf9bac2ec86eb
|
|
* Adds logic to the Runtime to activate protected mode
* Adds ProtectedContentAllocation backend capability to ClBackend
It's not fully activated yet because the CustomAllocator is
missing. Will print an error message and won't register the backend
but won't fail.
* Extends IBackendInternal with an UseCustomAllocator function.
* Adds related unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I64f465c5800eb104aa90db1bbf772a4148b5072f
|
|
Refactor code around conditionally-compiled tests to avoid declaring
empty test suites, as this can cause unused function warnings to be
issued under certain combinations of compiler, warning level, and
doctest version.
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: Ib501aef80475538a725b857d9c31d1d2f96b124d
|
|
Because the maximum value of an int32_t isn't exactly representable
by a 32-bit float, casting it to a float produces a greater value,
and then casting that back to an int32_t is undefined. (In tested
implementations the cast saturates, so accidentally the correct
result is returned).
Using double for the intermediate value instead gives a high
enough precision that this test case can be safely expressed.
Silences warning from Undefioned Behaviour Sanitiser.
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I6fe3e89cb6ac695049c92f3b75aca0c14d0e14aa
|
|
* Fix type of literals
* Add explicit casts
* #include missing headers
* Replace use of non-standard u_int8_t
* Remove name of unused variables
* Fix DLL export macro - this was broken when some of the exporting headers
were moved to a different library.
Change-Id: Ie569c8df41a077b46c608798f39526352e2aeb3a
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I5889a5f44c0c22da6421d9bd06494c75d74e0440
|
|
* Optimization that searches for layers with ConstantLayers as inputs.
* The layer member variables are then redirected to these ConstantLayers.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I24a2bf0e8575b808343e0bbe3897b344e94796ad
|
|
* Added IOptimizedNetwork constructor that takes another
IOptimizedNetwork and a ModelOptions.
* Changed PreCompiledLayer to use shared_ptr rather than unique_ptr
to store the PreCompiledObject (no interface changes).
* Added unit tests to ensure that PreCompiledLayer::Clone() clones
the pointer to the PreCompiledObject correctly.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I3ef56055e0d189ffce9e651882d34da16c70a240
|
|
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I7cb0a6a8856d8cd9949bec83c1ddce0a454fdf63
|
|
!android-nn-driver:5802
* Extract the threadpool from LoadedNetwork/Runtime
* Refactor the threadpool to be handle multiple networks
* Trim IAsyncExecutionCallback and add an InferenceId to AsyncExecutionCallback
* Add AsyncCallbackManager class
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I36aa2ad29c16bc10ee0706adfeb6b27f60012afb
|
|
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ib31d239ce0b85639e1984ed91edccdbdeb12a57e
|
|
* Add front end
* Add reference workload
* Serialization/Deserialization
* Add unit tests
* Update ArmNN Versioning
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I6fcb1fa341d6f08dea4003b13544e6e9f53fefd3
|
|
* Ref workload
* Cl workload
* Neon workload
* Serializer
* Deserializer
* Remove boost include from TensorTest.cpp
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I498548169cc77609c55cf3105f1de5a7429772cf
|