From 7562bdf7600a1ee21dc546441c909aaaf01c6f66 Mon Sep 17 00:00:00 2001 From: Tim Hall Date: Thu, 25 Feb 2021 14:28:06 +0000 Subject: MLBEDSW-4095: Update RELEASE notes and other docs - Updated release notes - Updated supported ops - Clarified platform support - Minor clean up of README Signed-off-by: Tim Hall Change-Id: I62b9ff66fc7729b184a5dbb322406cfcdef4e542 --- README.md | 45 +++++++++++++++++++++++---------------------- RELEASES.md | 27 +++++++++++++++++++++++++++ SUPPORTED_OPS.md | 28 ++++++++++++++++++++++++++-- setup.py | 2 +- 4 files changed, 77 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 5e460c0..edd3fe7 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ compiled model. ## Environment -Vela runs on the Linux operating system and on Microsoft Windows, -see note in Installation section below. +Vela runs on the Linux and Microsoft Windows 10 operating systems, see note in +Installation section below. ## Prerequisites @@ -54,9 +54,9 @@ 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. -**Note:** For installing on Microsoft Windows you need to have a C99 capable -toolchain installed. The recommended and tested toolchain is Microsoft Visual -C++ 14.x Build Tools, see +**Note:** For installing on Microsoft Windows 10 you need to have a C99 capable +toolchain installed. The recommended and tested toolchain is Microsoft Visual +C++ 14.2 Build Tools, see ### PyPi @@ -171,38 +171,39 @@ Some example networks that contain quantised operators which can be compiled by Vela to run on the Ethos-U NPU can be found at: -## External APIs +## APIs -Please see [Vela External APIs](API.md) for information about Vela's low-level -external API that can be used to enable Ethos-U code generation from other -tools. +Please see [Vela External APIs](API.md). -## CLI Options +## Contributions -Please see [Vela CLI Options](OPTIONS.md) for detailed information about all of -Vela's CLI options as well as a description of the system configuration file -format. +Please see [Vela Contributions](CONTRIBUTIONS.md). -## Supported Operators +## Debug Database -Please see [Vela Supported Operators](SUPPORTED_OPS.md) for the list of -operators that Vela supports in this release. +Please see [Vela Debug Database](DEBUG_DB.md). -## Testing +## Options -Please see [Vela Testing](TESTING.md). +Please see [Vela CLI Options](OPTIONS.md). This includes a description of the +system configuration file format. -## Contributions +## Releases -Please see [Vela Contributions](CONTRIBUTIONS.md). +Please see [Vela Releases](RELEASES.md). ## Security Please see [Vela Security](SECURITY.md). -## Releases +## Supported Operators -Please see [Vela Releases](RELEASES.md). +Please see [Vela Supported Operators](SUPPORTED_OPS.md) for the list of +operators supported in this release. + +## Testing + +Please see [Vela Testing](TESTING.md). ## Resources diff --git a/RELEASES.md b/RELEASES.md index 16cca1e..296d59b 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -5,6 +5,33 @@ main feature changes, interface changes and reported defects that have been fixed. The version numbering adheres to the [semantic versioning](https://semver.org/) scheme. +## Release 2.1.0 - 25/02/2021 + +**Main feature changes:** + +* New operator support: PAD, MEAN and HARD_SWISH +* New HillClimb tensor allocator (default) +* Network performance improved of shallow layers +* Updated support to TensorFlow Lite 2.4 +* Added Microsoft Windows 10 support +* Extended debug database to support multiple Ethos-U Custom operators +* Added cascading support to RESIZE_BILINEAR +* Improved performance estimations + +**Interface changes:** + +* Addition of Vela configuration (.ini) file options: + * `MEM_burst_length`, `MEM_read_latency`, `MEM_write_latency` +* Change to CLI options: + * `--tensor-allocator` (change default to HillClimb) +* Addition of CLI options: + * `--verbose-all` + +**Reported defect fixes:** + +* Bug with handling multiple custom operators (MLCE-329) +* Bug with configuring Ethos-U55 with DRAM (MLCE-322) + ## Release 2.0.1 - 03/12/2020 * Fixed a broken link in the long description used by PyPi diff --git a/SUPPORTED_OPS.md b/SUPPORTED_OPS.md index 20134cc..e48ebf5 100644 --- a/SUPPORTED_OPS.md +++ b/SUPPORTED_OPS.md @@ -1,7 +1,7 @@ # Supported Ops This file was automatically generated by Vela using the `--supported-ops-report` parameter. -Vela version: `2.0.2.dev69+g83e3bb3.d20210212` +Vela version: `2.1.0` This file complies with [**Gitiles Markdown syntax**](https://github.com/google/gitiles/blob/master/Documentation/markdown.md) @@ -27,6 +27,7 @@ Please check the supported operator list for your chosen runtime for further inf | LOGISTIC | [Generic](#generic-constraints) | | MAXIMUM | [Generic](#generic-constraints), [Specific](#maximum-constraints) | | MAX_POOL_2D | [Generic](#generic-constraints), [Specific](#max_pool_2d-constraints) | +| MEAN | [Generic](#generic-constraints), [Specific](#mean-constraints) | | MINIMUM | [Generic](#generic-constraints), [Specific](#minimum-constraints) | | MUL | [Generic](#generic-constraints), [Specific](#mul-constraints) | | PACK | [Generic](#generic-constraints) | @@ -54,7 +55,7 @@ This is a list of constraints that all NPU operators must satisfy in order to be - Input(s) and Output tensors must not be dynamic - Input(s) and Output tensors must have a defined shape - Output tensors cannot be scalar -- Scalar Input tensors are only valid for op type: ADD, MAXIMUM, MINIMUM, MUL, SPLIT, SPLIT_V, SUB +- Scalar Input tensors are only valid for op type: ADD, MAXIMUM, MEAN, MINIMUM, MUL, SPLIT, SPLIT_V, SUB - Input(s) and Output tensors must not be greater than 4D - Tensors must be of type: int16, int32, int8, uint8 - Tensors which are int32 are only valid when op type is: ADD, MUL, SUB @@ -151,6 +152,7 @@ This is a list of constraints that the FULLY_CONNECTED operator must satisfy in - Optional Bias tensor must be of type: int32, int64 - Optional Bias tensor values must fit within 40-bits - The output tensor(s) must have 2D shape +- The IFM and OFM must have the same number of dimensions if keep_num_dims is set to true ## HARD_SWISH Constraints @@ -190,6 +192,28 @@ This is a list of constraints that the MAX_POOL_2D operator must satisfy in orde - Kernel filter height must be in the range [1, 256] - Product of kernel filter width and height must be in the range [1, 65536] +## MEAN Constraints + +This is a list of constraints that the MEAN operator must satisfy in order to be scheduled on the NPU. + +- IFM must be int8 or uint8 +- Every constraint in either one (or both) of the following sets of constraints must be fulfilled: + Set A: + IFM dimensions are 4, + Axis indices are 1 and 2, + keep_dims is set to True + Set B: + IFM zero point and OFM zero point are the same, + IFM scale and OFM scale are the same +- Input tensor must be at least 2D +- Axis indices must correspond to height and width axes +- Product of height and width can be at most 4096 +- Product of IFM height and width can be at most 256 when the following are true: + IFM dimensions are 4, + Axis indices are 1 and 2, + keep_dims is set to True and + IFM datatype is int8 + ## MINIMUM Constraints This is a list of constraints that the MINIMUM operator must satisfy in order to be scheduled on the NPU. diff --git a/setup.py b/setup.py index 98dfe52..2c77b70 100644 --- a/setup.py +++ b/setup.py @@ -58,7 +58,7 @@ setup( "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", - "Operating System :: Microsoft :: Windows", + "Operating System :: Microsoft :: Windows :: Windows 10", "Programming Language :: C", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", -- cgit v1.2.1