From 49016e0f32a35671a8c16006860514ea1447d93f Mon Sep 17 00:00:00 2001 From: Cathal Corbett Date: Tue, 12 Jul 2022 12:15:57 +0100 Subject: Documentation refactor and updates. * Includes updating ContributorGuide.md with information section 'Contributing code to Arm NN'. * Renaming of ContributorGuide.md to CONTRIBUTING.md. Also renamed associated licence file and links in other pages that call the md file. Signed-off-by: Cathal Corbett Change-Id: Ic3336d78b64ae41af07ea9fd03631bb161613c4b --- BuildGuideAndroidNDK.md | 14 +++---- BuildGuideCrossCompilation.md | 12 +++--- CONTRIBUTING.md | 65 +++++++++++++++++++++++++++++++++ CONTRIBUTING.md.license | 4 ++ ContributorGuide.md | 47 ------------------------ ContributorGuide.md.license | 4 -- InstallationViaAptRepository.md | 2 +- InstallationViaAptRepository.md.license | 2 +- README.md | 2 +- delegate/BuildGuideNative.md | 2 +- delegate/DelegateQuickStartGuide.md | 3 +- python/pyarmnn/README.md | 2 +- samples/serialized/Readme.md | 4 +- samples/serialized/Readme.md.license | 2 +- 14 files changed, 91 insertions(+), 74 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 CONTRIBUTING.md.license delete mode 100644 ContributorGuide.md delete mode 100644 ContributorGuide.md.license diff --git a/BuildGuideAndroidNDK.md b/BuildGuideAndroidNDK.md index d25aa1c1bb..3f3f642d14 100644 --- a/BuildGuideAndroidNDK.md +++ b/BuildGuideAndroidNDK.md @@ -40,7 +40,7 @@ All downloaded or generated files will be saved inside the `$HOME/armnn-devenv` ## Install Cmake Cmake 3.19rc3 is required to build Arm NN. -''' +```bash cd $HOME/armnn-devenv sudo apt-get install libssl-dev wget https://github.com/Kitware/CMake/releases/download/v3.19.0-rc3/cmake-3.19.0-rc3.tar.gz @@ -49,7 +49,7 @@ cd cmake-3.19.0-rc3 ./bootstrap --prefix=$HOME/armnn-devenv/cmake/install make all install cd.. -''' +``` ## Build Google's Protobuf library (Optional) @@ -63,13 +63,13 @@ cd protobuf git checkout -b v3.12.0 v3.12.0 ``` -* Build a native (x86) version of the protobuf libraries and compiler (protoc): +* Build a native (x86) version of the protobuf libraries and compiler (protoc): (Requires cUrl, autoconf, llibtool, and other build dependencies if not previously installed: `sudo apt install curl autoconf libtool build-essential g++`) ```bash ./autogen.sh -mkdir x86_build -cd x86_build -../configure --prefix=$HOME/armnn-devenv/google/x86_pb_install +mkdir x86_64_build +cd x86_64_build +../configure --prefix=$HOME/armnn-devenv/google/x86_64_pb_install make install -j16 cd .. ``` @@ -85,7 +85,7 @@ CFLAGS="-fPIE -fPIC" \ ../configure --host=aarch64-linux-android \ --prefix=$HOME/armnn-devenv/google/arm64_pb_install \ --enable-cross-compile \ - --with-protoc=$HOME/armnn-devenv/google/x86_pb_install/bin/protoc + --with-protoc=$HOME/armnn-devenv/google/x86_64_pb_install/bin/protoc make install -j16 cd .. ``` diff --git a/BuildGuideCrossCompilation.md b/BuildGuideCrossCompilation.md index 024dea88da..3018c35af3 100644 --- a/BuildGuideCrossCompilation.md +++ b/BuildGuideCrossCompilation.md @@ -20,10 +20,10 @@ These are the step by step instructions on Cross-Compiling Arm NN under an x86_64 system to target an Arm64 Ubuntu Linux system. This build flow has been tested with Ubuntu 18.04 and 20.04 and it depends on the same version of Ubuntu or Debian being installed on both the build host and target machines. The instructions assume you are using a bash shell and show how to build the Arm NN core library, Protobuf, Tflite, Flatbuffer and Compute Libraries. Start by creating a directory to contain all components: -''' +``` mkdir $HOME/armnn-devenv cd $HOME/armnn-devenv -''' +``` ## Cross-compiling ToolChain * Install the standard cross-compilation libraries for arm64: @@ -34,7 +34,7 @@ sudo apt install crossbuild-essential-arm64 ## Install Cmake Cmake 3.19rc3 is required to build TF Lite Delegate. -''' +``` sudo apt-get install libssl-dev wget https://github.com/Kitware/CMake/releases/download/v3.19.0-rc3/cmake-3.19.0-rc3.tar.gz tar -zxvf cmake-3.19.0-rc3.tar.gz @@ -42,14 +42,14 @@ cd cmake-3.19.0-rc3 ./bootstrap --prefix=$HOME/armnn-devenv/cmake/install make all install cd.. -''' +``` ## Build and install Google's Protobuf library We support protobuf version 3.12.0 -* Get protobuf from here: https://github.com/protocolbuffers/protobuf: - (Requires Git if not previously installed: `sudo apt install git`) +* Get protobuf from here: https://github.com/protocolbuffers/protobuf: + (Requires Git if not previously installed: `sudo apt install git`) ```bash git clone -b v3.12.0 https://github.com/google/protobuf.git protobuf cd protobuf diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..f00d63b957 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,65 @@ +# Contribution Guidelines + +The Arm NN project is open for external contributors and welcomes contributions. Arm NN is licensed under the [MIT license](https://spdx.org/licenses/MIT.html) and all accepted contributions must have the same license. Below is an overview on contributing code to ArmNN. For more details on contributing to Arm NN see the [Contributing page](https://mlplatform.org/contributing/) on the [MLPlatform.org](https://mlplatform.org/) website. + +## Contributing code to Arm NN + +- All code reviews are performed on [Linaro ML Platform Gerrit](https://review.mlplatform.org) +- GitHub account credentials are required for creating an account on ML Platform +- Setup Arm NN git repo + - git clone https://review.mlplatform.org/ml/armnn + - cd armnn + - git checkout master + - git pull (not required upon initial clone but good practice before creating a patch) + - git config user.name "FIRST_NAME SECOND_NAME" + - git config user.email your@email.address +- Commit using sign-off and push patch for code review + - git commit -s + - git push origin HEAD:refs/for/master +- Patch will appear on ML Platform Gerrit [here](https://review.mlplatform.org/q/is:open+project:ml/armnn+branch:master) +- See below for adding details of copyright notice and developer certificate +of origin sign off + +## Developer Certificate of Origin (DCO) + +Before the Arm NN project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/). + +To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message: + +Signed-off-by: John Doe + +You must use your real name, no pseudonyms or anonymous contributions are accepted. + +## In File Copyright Notice + +In each source file, include the following copyright notice: + +// +// Copyright © ` ` and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +Note: if an existing file does not conform, update it when you next modify it, as convenient. + +## Releases + +Official Arm NN releases are published through the official [Arm NN Github repository](https://github.com/ARM-software/armnn). + +## Development repository + +The Arm NN development repository is hosted on the [mlplatform.org git repository](https://git.mlplatform.org/ml/armnn.git/) hosted by [Linaro](https://www.linaro.org/). + +## Code reviews + +Contributions must go through code review. Code reviews are performed through the [mlplatform.org Gerrit server](https://review.mlplatform.org). Contributors need to signup to this Gerrit server with their GitHub account +credentials. + +Only reviewed contributions can go to the master branch of Arm NN. + +## Continuous integration + +Contributions to Arm NN go through testing at the Arm CI system. All unit, integration and regression tests must pass before a contribution gets merged to the Arm NN master branch. + +## Communications + +We encourage all Arm NN developers to subscribe to the [Arm NN developer mailing list](https://lists.linaro.org/mailman/listinfo/armnn-dev). diff --git a/CONTRIBUTING.md.license b/CONTRIBUTING.md.license new file mode 100644 index 0000000000..739dc2d88e --- /dev/null +++ b/CONTRIBUTING.md.license @@ -0,0 +1,4 @@ +# +# Copyright © 2018-2022 Arm Ltd and Contributors. All rights reserved. +# SPDX-License-Identifier: MIT +# diff --git a/ContributorGuide.md b/ContributorGuide.md deleted file mode 100644 index 9f1140f822..0000000000 --- a/ContributorGuide.md +++ /dev/null @@ -1,47 +0,0 @@ -# Contribution Guidelines - -The Arm NN project is open for external contributors and welcomes contributions. Arm NN is licensed under the [MIT license](https://spdx.org/licenses/MIT.html) and all accepted contributions must have the same license. For more details on contributing to Arm NN see the [Contributing page](https://mlplatform.org/contributing/) on the [MLPlatform.org](https://mlplatform.org/) website. - -## Developer Certificate of Origin (DCO) - -Before the Arm NN project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/). - -To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message: - -Signed-off-by: John Doe - -You must use your real name, no pseudonyms or anonymous contributions are accepted. - -## In File Copyright Notice - -In each source file, include the following copyright notice: - -// -// Copyright © ` ` and Contributors. All rights reserved. -// SPDX-License-Identifier: MIT -// - -Note: if an existing file does not conform, update it when you next modify it, as convenient. - -## Releases - -Official Arm NN releases are published through the official [Arm NN Github repository](https://github.com/ARM-software/armnn). - -## Development repository - -The Arm NN development repository is hosted on the [mlplatform.org git repository](https://git.mlplatform.org/ml/armnn.git/) hosted by [Linaro](https://www.linaro.org/). - -## Code reviews - -Contributions must go through code review. Code reviews are performed through the [mlplatform.org Gerrit server](https://review.mlplatform.org). Contributors need to signup to this Gerrit server with their GitHub account -credentials. - -Only reviewed contributions can go to the master branch of Arm NN. - -## Continuous integration - -Contributions to Arm NN go through testing at the Arm CI system. All unit, integration and regression tests must pass before a contribution gets merged to the Arm NN master branch. - -## Communications - -We encourage all Arm NN developers to subscribe to the [Arm NN developer mailing list](https://lists.linaro.org/mailman/listinfo/armnn-dev). diff --git a/ContributorGuide.md.license b/ContributorGuide.md.license deleted file mode 100644 index c3a88230af..0000000000 --- a/ContributorGuide.md.license +++ /dev/null @@ -1,4 +0,0 @@ -# -# Copyright © 2018-2021 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT -# diff --git a/InstallationViaAptRepository.md b/InstallationViaAptRepository.md index 93eb56ef1d..dbdd0c2028 100644 --- a/InstallationViaAptRepository.md +++ b/InstallationViaAptRepository.md @@ -15,7 +15,7 @@ These are the step by step instructions on how to install the Arm NN core, TensorflowLite Parser as well as PyArmNN for x86_64, Arm64 and Armhf for Ubuntu 20.04. The packages will also be added to Debian Bullseye, their progress can be tracked here: -https://tracker.debian.org/pkg/armnn +https://tracker.debian.org/pkg/armnn. ## Add the Ubuntu Launchpad PPA to your system diff --git a/InstallationViaAptRepository.md.license b/InstallationViaAptRepository.md.license index ec9b9c3ef4..6b63511843 100644 --- a/InstallationViaAptRepository.md.license +++ b/InstallationViaAptRepository.md.license @@ -1,4 +1,4 @@ # -# Copyright © 2020-2021 Arm Ltd and Contributors. All rights reserved. +# Copyright © 2020-2022 Arm Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # diff --git a/README.md b/README.md index af97b07091..feaba01d24 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ When the feature is implemented the 'Help wanted' label will be removed. ## Contributions The Arm NN project welcomes contributions. For more details on contributing to Arm NN please see the [Contributing page](https://mlplatform.org/contributing/) on the [MLPlatform.org](https://mlplatform.org/) website, -or see the [Contributor Guide](ContributorGuide.md). +or see the [Contributor Guide](CONTRIBUTING.md). Particularly if you'd like to implement your own backend next to our CPU, GPU and NPU backends there are guides for backend development: [Backend development guide](src/backends/README.md), diff --git a/delegate/BuildGuideNative.md b/delegate/BuildGuideNative.md index 4aa1af3ee9..d8f0369285 100644 --- a/delegate/BuildGuideNative.md +++ b/delegate/BuildGuideNative.md @@ -256,6 +256,6 @@ std::unique_ptrModifyGraphWithDelegate(theArmnnDelegate.get()); ``` -For further information on using TfLite Delegates please visit the [tensorflow website](https://www.tensorflow.org/lite/guide) +For further information on using TfLite Delegates please visit the [tensorflow website](https://www.tensorflow.org/lite/guide). For more details of the kind of options you can pass to the Arm NN delegate please check the parameters of function tflite_plugin_create_delegate. diff --git a/delegate/DelegateQuickStartGuide.md b/delegate/DelegateQuickStartGuide.md index ce58624677..b7cdef8f6e 100644 --- a/delegate/DelegateQuickStartGuide.md +++ b/delegate/DelegateQuickStartGuide.md @@ -42,8 +42,7 @@ Pre-requisites: * numpy (Depends on TfLite version) * tflite_runtime (>=2.5, depends on Arm NN Delegate) -If you haven't built the delegate yet then take a look at the [build guide](./BuildGuideNative.md). Otherwise, -you can download the binaries [here](https://github.com/ARM-software/armnn/releases/) +If you haven't built the delegate yet then take a look at the [build guide](./BuildGuideNative.md). Otherwise, you can download the binaries [here](https://github.com/ARM-software/armnn/releases/). We recommend creating a virtual environment for this tutorial. For the following code to work python3 is needed. Please also check the documentation of the TfLite version you want to use. There might be additional prerequisites for the python diff --git a/python/pyarmnn/README.md b/python/pyarmnn/README.md index 3a7c2bc112..547a868316 100644 --- a/python/pyarmnn/README.md +++ b/python/pyarmnn/README.md @@ -10,7 +10,7 @@ delegated to the Arm NN library. The [SWIG](http://www.swig.org/) project is used to generate the Arm NN python shadow classes and C wrapper. The following diagram shows the conceptual architecture of this library: -![PyArmNN](docs/pyarmnn.png) +![PyArmNN](../../docs/pyarmnn.png) # Setup development environment diff --git a/samples/serialized/Readme.md b/samples/serialized/Readme.md index e85ae1047b..297d9ff4d3 100644 --- a/samples/serialized/Readme.md +++ b/samples/serialized/Readme.md @@ -1,4 +1,4 @@ # Arm NN Serialized Example model -This is a really simple example of an Arm NN serialized model which is supported on Netron. It is based on SSD MobileNet V1 FP32 model available in the public model zoo (https://github.com/ARM-software/ML-zoo/tree/master/models/object_detection/ssd_mobilenet_v1/tflite_fp32), converted using the ArmnnConverter tool. The model is trained by Google and uses 300x300 input image. -More details on how to deploy this model using Arm NN SDK can be found here: https://developer.arm.com/documentation/102274/latest \ No newline at end of file +This is a really simple example of an Arm NN serialized model which is supported on Netron. It is based on SSD MobileNet V1 FP32 model available in the public model zoo (https://github.com/ARM-software/ML-zoo/tree/master/models/object_detection/ssd_mobilenet_v1/tflite_fp32), converted using the ArmnnConverter tool. The model is trained by Google and uses 300x300 input image. +More details on how to deploy this model using Arm NN SDK can be found here: https://developer.arm.com/documentation/102274/latest. \ No newline at end of file diff --git a/samples/serialized/Readme.md.license b/samples/serialized/Readme.md.license index 14e9b44345..b994066977 100644 --- a/samples/serialized/Readme.md.license +++ b/samples/serialized/Readme.md.license @@ -1,4 +1,4 @@ # -# Copyright © 2021 Arm Ltd and Contributors. All rights reserved. +# Copyright © 2021-2022 Arm Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # -- cgit v1.2.1