aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2021-01-29 14:18:13 +0000
committerJan Eilers <jan.eilers@arm.com>2021-02-03 09:11:51 +0000
commit31a7c890207f80afc866f706d797267d78d05a0d (patch)
tree8b133170fbdf0d87a0a8a5b72c6eaf73fcbb2391 /docs
parent74a3cf5755b801cf258177e8e55b4cda64a0c351 (diff)
downloadarmnn-31a7c890207f80afc866f706d797267d78d05a0d.tar.gz
IVGCVSW-5605 Doxygen: Add the TfLite Delegate to Doxygen docu
* Moves TensorFlowLiteDelegateSupport.md to doxygen * Renames a few .dox files to represent the structure of the documentation * Adds sections for build and use guides * Integrates markdown guides for the delegate into doxygen Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I68b7a29239be88c0617da9bdfce5323ebf26f5bc
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.dox144
-rw-r--r--docs/02_build_guides.dox26
-rw-r--r--docs/03_use_guides.dox21
-rw-r--r--docs/Doxyfile11
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