aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael McGeagh <michael.mcgeagh@arm.com>2020-11-25 14:23:08 +0000
committerpatrik.gustavsson <patrik.gustavsson@arm.com>2020-11-25 15:35:24 +0000
commit3adc1e44125dc42e04568a5da5f7a7a2af3909df (patch)
treea2f7fb0e7252ea9010cbc0aa95da87c3256a7677
parentef0c7fe4d8c4e4d8f0b5af08111c93df9476a857 (diff)
downloadethos-u-vela-3adc1e44125dc42e04568a5da5f7a7a2af3909df.tar.gz
MLBEDSW-3457 Merge README and PYPI
Instead of maintaining two almost identical readme files, have setup.py read in the canonical README.md and modify it to replace the links accordingly. Signed-off-by: Michael McGeagh <michael.mcgeagh@arm.com> Change-Id: Ia27cd48f3c945b3fac892ab1784ce394119968ac
-rw-r--r--PYPI.md197
-rw-r--r--setup.py9
2 files changed, 8 insertions, 198 deletions
diff --git a/PYPI.md b/PYPI.md
deleted file mode 100644
index 82fa522..0000000
--- a/PYPI.md
+++ /dev/null
@@ -1,197 +0,0 @@
-# Vela
-
-This tool is used to compile a
-[TensorFlow Lite for Microcontrollers](https://www.tensorflow.org/lite/microcontrollers)
-neural network model into an optimised version that can run on an embedded
-system containing an
-[Arm Ethos-U NPU](https://www.arm.com/products/silicon-ip-cpu).
-
-In order to be accelerated by the Ethos-U NPU the network operators must be
-quantised to either 8-bit (unsigned or signed) or 16-bit (signed).
-
-The optimised model will contain TensorFlow Lite Custom operators for those
-parts of the model that can be accelerated by the Ethos-U NPU. Parts of the
-model that cannot be accelerated are left unchanged and will instead run on the
-Cortex-M series CPU using an appropriate kernel (such as the
-[Arm](https://www.arm.com) optimised
-[CMSIS-NN](https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/NN)
-kernels).
-
-After compilation the optimised model can only be run on an Ethos-U NPU
-embedded system.
-
-The tool will also generate performance estimates (EXPERIMENTAL) for the
-compiled model.
-
-## TensorFlow Support
-
-Vela supports TensorFlow 2.3.0
-
-## Environment
-
-Vela runs on the Linux operating system.
-
-## Prerequisites
-
-The following should be installed prior to the installation of Vela:
-
-* Python >= 3.6
-* Pip3
-* GNU toolchain (GCC, Binutils and libraries) or alternative C compiler/linker
-toolchain
-
-And optionally:
-
-* Pipenv virtual environment tool
-
-## Installation
-
-Vela is available to install as a package from
-[PyPi](https://pypi.org/project/ethos-u-vela/), or as
-source code from
-[ML Platform](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela).
-Both methods will automatically install all the required dependencies.
-
-### PyPi
-
-Install Vela from PyPi using the following command:
-
-```bash
-pip3 install ethos-u-vela
-```
-
-### ML Platform
-
-First obtain the source code by either downloading the desired TGZ file from:
-<https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela>
-
-Or by cloning the git repository:
-
-```bash
-git clone https://review.mlplatform.org/ml/ethos-u/ethos-u-vela.git
-```
-
-Once you have the source code, Vela can be installed using the following
-command:
-
-```bash
-pip3 install -U setuptools>=40.1.0
-pip3 install .
-```
-
-Or, if you use `pipenv`:
-
-```bash
-pipenv install .
-```
-
-#### Advanced Installation for Developers
-
-If you plan to modify the Vela codebase then it is recommended to install Vela
-as an editable package to avoid the need to re-install after every modification.
-This is done by adding the `-e` option to the above install commands like so:
-
-```bash
-pip3 install -e .
-```
-
-Or, if you use `pipenv`:
-
-```bash
-pipenv install -e .
-```
-
-If you plan to contribute to the Vela project (highly encouraged!) then it is
-recommended to install Vela along with the pre-commit tools (see
-[Vela Testing](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/TESTING.md)
-for more details).
-
-## Running
-
-Vela is run with an input `.tflite` file passed on the command line. This file
-contains the neural network to be compiled. The tool then outputs an optimised
-version with a `_vela.tflite` file prefix, along with the performance estimate
-(EXPERIMENTAL) CSV files, all to the output directory.
-
-If you use the `pipenv` virtual environment tool then first start by spawning a
-shell in the virtual environment:
-
-```bash
-pipenv shell
-```
-
-After which running Vela is the same regardless of whether you are in a virtual
-environment or not.
-
-Example usage:
-
-1) Compile the network `my_model.tflite`. The optimised version will be output
-to `./output/my_network_vela.tflite`.
-
-```bash
-vela my_model.tflite
-```
-
-1) Compile the network `/path/to/my_model.tflite` and specify the output to go
-in the directory `./results_dir/`.
-
-```bash
-vela --output-dir ./results_dir /path/to/my_model.tflite
-```
-
-1) To specify information about the embedded system's configuration use Vela's
-system configuration file. The following command selects the `MySysConfig`
-settings that are described in the `sys_cfg_vela.ini` system configuration file.
-More details can be found in the next section.
-
-```bash
-vela --config sys_cfg_vela.ini --system-config MySysConfig my_model.tflite
-```
-
-1) To get a list of all available options:
-
-```bash
-vela --help
-```
-
-Information about all of Vela's CLI options as well as the system configuration
-file format can be found in
-[Vela Options](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/OPTIONS.md).
-
-## Example Networks
-
-Some example networks that contain quantised operators which can be compiled by
-Vela to run on the Ethos-U NPU can be found at:
-<https://tfhub.dev/s?deployment-format=lite&q=quantized>
-
-## Testing
-
-Please see
-[Vela Testing](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/TESTING.md).
-
-## Contributions
-
-Please see
-[Vela Contributions](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/CONTRIBUTIONS.md).
-
-## Security
-
-Please see
-[Vela Security](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/SECURITY.md).
-
-## Releases
-
-Please see
-[Vela Releases](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/1.2.0/RELEASES.md).
-
-## Resources
-
-Additional useful information:
-
-* [Arm Products: Ethos-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55)
-* [Arm Developer: Ethos-U55 NPU](https://developer.arm.com/ip-products/processors/machine-learning/ethos-u55)
-
-## License
-
-Vela is licensed under
-[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
diff --git a/setup.py b/setup.py
index 3528411..f5f82bd 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@
# limitations under the License.
# Description:
# Packaging for the Vela compiler
+import re
from os import path
from setuptools import Extension
@@ -23,8 +24,14 @@ from setuptools import setup
# Read the contents of README.md file
this_directory = path.abspath(path.dirname(__file__))
-with open(path.join(this_directory, "PYPI.md"), encoding="utf-8") as f:
+with open(path.join(this_directory, "README.md"), encoding="utf-8") as f:
long_description = f.read()
+ # Replace local Markdown links with URLs
+ tag = "2.0.0"
+ url = f"https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/refs/tags/{tag}/"
+ for markdown in set(re.findall(r"\(.+\.md\)", long_description)):
+ link = f"({url}{markdown[1:-1]})"
+ long_description = long_description.replace(markdown, link)
mlw_module = Extension(
"ethosu.mlw_codec",