diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/01_00_software_tools.dox (renamed from docs/00_software_tools.dox) | 4 | ||||
-rw-r--r-- | docs/01_01_parsers.dox (renamed from docs/01_parsers.dox) | 27 | ||||
-rw-r--r-- | docs/01_02_deserializer_serializer.dox (renamed from docs/02_deserializer_serializer.dox) | 20 | ||||
-rw-r--r-- | docs/01_03_delegate.dox | 144 | ||||
-rw-r--r-- | docs/02_build_guides.dox | 26 | ||||
-rw-r--r-- | docs/03_use_guides.dox | 21 | ||||
-rw-r--r-- | docs/Doxyfile | 11 |
7 files changed, 211 insertions, 42 deletions
diff --git a/docs/00_software_tools.dox b/docs/01_00_software_tools.dox index e71b3dc332..416e2265bb 100644 --- a/docs/00_software_tools.dox +++ b/docs/01_00_software_tools.dox @@ -8,9 +8,11 @@ namespace armnn /** @page swtools Software Tools -On this page you can find all software tools contained in the ArmNN repository. You will find links to how-to guides and +On this page you can find all software tools contained in the Arm NN repository. You will find links to how-to guides and other helpful information in each section. +@subpage delegate + @subpage parsers @subpage md_python_pyarmnn_README diff --git a/docs/01_parsers.dox b/docs/01_01_parsers.dox index 80d616f5e7..20d0ced209 100644 --- a/docs/01_parsers.dox +++ b/docs/01_01_parsers.dox @@ -1,25 +1,7 @@ -/// Copyright (c) 2020 ARM Limited. +/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved. /// /// SPDX-License-Identifier: MIT /// -/// Permission is hereby granted, free of charge, to any person obtaining a copy -/// of this software and associated documentation files (the "Software"), to deal -/// in the Software without restriction, including without limitation the rights -/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -/// copies of the Software, and to permit persons to whom the Software is -/// furnished to do so, subject to the following conditions: -/// -/// The above copyright notice and this permission notice shall be included in all -/// copies or substantial portions of the Software. -/// -/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -/// SOFTWARE. -/// namespace armnn { @@ -30,6 +12,13 @@ namespace armnn Execute models from different machine learning platforms efficiently with our parsers. Simply choose a parser according to the model you want to run e.g. If you've got a model in tensorflow format (<model_name>.pb) use our tensorflow-parser. +If you would like to run a Tensorflow Lite (TfLite) model you probably also want to take a look at our [TfLite delegate](delegate). + +All parsers are written in C++ but it is also possible to use them in python. For more information on our python +bindings take a look into the [PyArmNN](pyarmnn) section. + +Fallback mechanism + @section S4_caffe_parser ArmNN Caffe Parser `armnnCaffeParser` is a library for loading neural networks defined in Caffe protobuf files into the Arm NN runtime. diff --git a/docs/02_deserializer_serializer.dox b/docs/01_02_deserializer_serializer.dox index e61d4a1441..047cb5dc8d 100644 --- a/docs/02_deserializer_serializer.dox +++ b/docs/01_02_deserializer_serializer.dox @@ -1,25 +1,7 @@ -/// Copyright (c) 2020 ARM Limited. +/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved. /// /// SPDX-License-Identifier: MIT /// -/// Permission is hereby granted, free of charge, to any person obtaining a copy -/// of this software and associated documentation files (the "Software"), to deal -/// in the Software without restriction, including without limitation the rights -/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -/// copies of the Software, and to permit persons to whom the Software is -/// furnished to do so, subject to the following conditions: -/// -/// The above copyright notice and this permission notice shall be included in all -/// copies or substantial portions of the Software. -/// -/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -/// SOFTWARE. -/// namespace armnn { diff --git a/docs/01_03_delegate.dox b/docs/01_03_delegate.dox new file mode 100644 index 0000000000..7c7763a923 --- /dev/null +++ b/docs/01_03_delegate.dox @@ -0,0 +1,144 @@ +/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved. +/// +/// SPDX-License-Identifier: MIT +/// + +namespace armnn +{ +/** +@page delegate TfLite Delegate +@tableofcontents + + +@section delegateintro About the delegate +'armnnDelegate' is a library for accelerating certain TensorFlow Lite (TfLite) operators on Arm hardware. It can be +integrated in TfLite using its delegation mechanism. TfLite will then delegate the execution of operators supported by +Arm NN to Arm NN. + +The main difference to our @ref S6_tf_lite_parser is the amount of operators you can run with it. If none of the active +backends support an operation in your model you won't be able to execute it with our parser. In contrast to that, TfLite +only delegates operations to the armnnDelegate if it does support them and otherwise executes them itself. In other +words, every TfLite model can be executed and every operation in your model that we can accelerate will be accelerated. +That is the reason why the armnnDelegate is our recommended way to accelerate TfLite models. + +If you need help building the armnnDelegate, please take a look at our [build guide](delegate/BuildGuideNative.md). +An example how to setup TfLite to integrate the armnnDelegate can be found in this +guide: [Integrate the delegate into python](delegate/IntegrateDelegateIntoPython.md) + + +@section delegatesupport Supported Operators +This reference guide provides a list of TensorFlow Lite operators the Arm NN SDK currently supports. + +@subsection delegatefullysupported Fully supported + +The Arm NN SDK TensorFlow Lite delegate currently supports the following operators: + +- ABS + +- ADD + +- ARGMAX + +- ARGMIN + +- AVERAGE_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- CONCATENATION, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- DEPTH_TO_SPACE + +- DEPTHWISE_CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- DEQUANTIZE + +- DIV + +- EQUAL + +- ELU + +- EXP + +- FULLY_CONNECTED, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- GATHER + +- GREATER + +- GREATER_OR_EQUAL + +- HARD_SWISH + +- LESS + +- LESS_OR_EQUAL + +- LOCAL_RESPONSE_NORMALIZATION + +- LOGICAL_AND +- +- LOGICAL_NOT +- +- LOGICAL_OR + +- LOGISTIC + +- LOG_SOFTMAX + +- L2_NORMALIZATION + +- L2_POOL_2D + +- MAXIMUM + +- MAX_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE + +- MEAN + +- MINIMUM + +- MUL + +- NEG + +- NOT_EQUAL + +- PAD + +- QUANTIZE + +- RESHAPE + +- RESIZE_BILINEAR + +- RESIZE_NEAREST_NEIGHBOR + +- RELU + +- RELU6 + +- RSQRT + +- SOFTMAX + +- SPACE_TO_DEPTH + +- SPLIT + +- SPLIT_V + +- SQRT + +- SUB + +- TANH + +- TRANSPOSE + +- TRANSPOSE_CONV + +More machine learning operators will be supported in future releases. +**/ +}
\ No newline at end of file diff --git a/docs/02_build_guides.dox b/docs/02_build_guides.dox new file mode 100644 index 0000000000..c7e6fcd286 --- /dev/null +++ b/docs/02_build_guides.dox @@ -0,0 +1,26 @@ +/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved. +/// +/// SPDX-License-Identifier: MIT +/// + +namespace armnn +{ +/** +@page buildguides Build Guides +@tableofcontents + +This page links all guides to build and/or install Arm NN tools. Some of these guides are not hosted in our +repository and will lead you to guides on +https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides + +Arm NN is written using portable C++14 and the build system uses [CMake](https://cmake.org/), therefore it is possible +to build for a wide variety of target platforms, from a wide variety of host environments. + +Arm NN is managed by a single CMake project. That allows you to build multiple tools at once by combining the CMake +options from different build guides. + +## TfLite Delegate build guide +@subpage md_delegate_BuildGuideNative + +**/ +}
\ No newline at end of file diff --git a/docs/03_use_guides.dox b/docs/03_use_guides.dox new file mode 100644 index 0000000000..8aeb4f03ea --- /dev/null +++ b/docs/03_use_guides.dox @@ -0,0 +1,21 @@ +/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved. +/// +/// SPDX-License-Identifier: MIT +/// + +namespace armnn +{ +/** +@page useguides Integration Guides +@tableofcontents + +This page links all guides that explain how to use Arm NN tools and how to integrate them into your own project. +Some of these guides may not be hosted in our repository and will lead you to guides on +https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides + + +## TfLite delegate guides +@subpage md_delegate_IntegrateDelegateIntoPython + +**/ +}
\ No newline at end of file diff --git a/docs/Doxyfile b/docs/Doxyfile index 3cf4ac5517..09ad2327ff 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -813,9 +813,12 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ./docs/00_software_tools.dox \ - ./docs/01_parsers.dox \ - ./docs/02_deserializer_serializer.dox \ +INPUT = ./docs/01_00_software_tools.dox \ + ./docs/01_01_parsers.dox \ + ./docs/01_03_delegate.dox \ + ./docs/01_02_deserializer_serializer.dox \ + ./docs/02_build_guides.dox \ + ./docs/03_use_guides.dox \ ./docs/04_backends.dox \ ./src/armnnQuantizer/README.md \ ./src/armnnConverter/README.md \ @@ -828,6 +831,8 @@ INPUT = ./docs/00_software_tools.dox \ ./tests/ \ ./delegate/include \ ./delegate/src/armnn_external_delegate.cpp \ + ./delegate/BuildGuideNative.md \ + ./delegate/IntegrateDelegateIntoPython.md \ ./README.md \ ./docs/FAQ.md |