From 626bd90378670eb5fd76f94526395430b752ad9e Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Tue, 21 Jun 2022 13:16:23 +0000 Subject: Revert "Revert "IVGCVSW-6873 Import inputs but don't export outputs fails."" This reverts commit a0f8b15d4ddb5075f380003ff31b271d389d3b66. Reason for revert: Change-Id: Ibc4a77fa008643849da7330391942e4c87b941e2 --- python/pyarmnn/README.md | 14 +++++++------- python/pyarmnn/examples/image_classification/README.md | 2 +- python/pyarmnn/examples/object_detection/README.md | 2 +- python/pyarmnn/examples/speech_recognition/README.md | 2 +- python/pyarmnn/src/pyarmnn/_version.py | 4 ++-- python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i | 7 +++++-- python/pyarmnn/test/test_modeloption.py | 9 ++++++--- python/pyarmnn/test/test_runtime.py | 4 ++-- python/pyarmnn/test/test_setup.py | 8 ++++---- python/pyarmnn/test/test_version.py | 4 ++-- 10 files changed, 31 insertions(+), 25 deletions(-) (limited to 'python/pyarmnn') diff --git a/python/pyarmnn/README.md b/python/pyarmnn/README.md index 7dc8d8693a..6d8b42d41a 100644 --- a/python/pyarmnn/README.md +++ b/python/pyarmnn/README.md @@ -91,14 +91,14 @@ This step will put all generated files under `./src/pyarmnn/_generated` folder a ```bash $ python setup.py sdist ``` -As the result you will get `./dist/pyarmnn-29.0.0.tar.gz` file. As you can see it is platform independent. +As the result you will get `./dist/pyarmnn-30.0.0.tar.gz` file. As you can see it is platform independent. ##### 5. Build the binary package ```bash $ python setup.py bdist_wheel ``` -As the result you will get something like `./dist/pyarmnn-29.0.0-cp36-cp36m-linux_x86_64.whl` file. As you can see it +As the result you will get something like `./dist/pyarmnn-30.0.0-cp36-cp36m-linux_x86_64.whl` file. As you can see it is platform dependent. # PyArmNN installation @@ -107,8 +107,8 @@ PyArmNN can be distributed as a source package or a binary package (wheel). Binary package is platform dependent, the name of the package will indicate the platform it was built for, e.g.: -* Linux x86 64bit machine: pyarmnn-29.0.0-cp36-cp36m-*linux_x86_64*.whl -* Linux Aarch 64 bit machine: pyarmnn-29.0.0-cp36-cp36m-*linux_aarch64*.whl +* Linux x86 64bit machine: pyarmnn-30.0.0-cp36-cp36m-*linux_x86_64*.whl +* Linux Aarch 64 bit machine: pyarmnn-30.0.0-cp36-cp36m-*linux_aarch64*.whl The source package is platform independent but installation involves compilation of Arm NN python extension. You will need to have g++ compatible with C++ 14 standard and a python development library installed on the build machine. @@ -126,7 +126,7 @@ $ gcc --print-search-dirs ``` Install PyArmNN from binary by pointing to the wheel file: ```bash -$ pip install /path/to/pyarmnn-29.0.0-cp36-cp36m-linux_aarch64.whl +$ pip install /path/to/pyarmnn-30.0.0-cp36-cp36m-linux_aarch64.whl ``` ## Installing from source package @@ -143,7 +143,7 @@ $ export ARMNN_INCLUDE=/full/path/to/armnn/include:/full/path/to/armnn/profilin Install PyArmNN as follows: ```bash -$ pip install /path/to/pyarmnn-29.0.0.tar.gz +$ pip install /path/to/pyarmnn-30.0.0.tar.gz ``` If PyArmNN installation script fails to find Arm NN libraries it will raise an error like this @@ -157,7 +157,7 @@ $ pip show pyarmnn You can also verify it by running the following and getting output similar to below: ```bash $ python -c "import pyarmnn as ann;print(ann.GetVersion())" -'29.0.0' +'30.0.0' ``` # PyArmNN API overview diff --git a/python/pyarmnn/examples/image_classification/README.md b/python/pyarmnn/examples/image_classification/README.md index 7275a2523f..a360f01148 100644 --- a/python/pyarmnn/examples/image_classification/README.md +++ b/python/pyarmnn/examples/image_classification/README.md @@ -20,7 +20,7 @@ $ pip show pyarmnn You can also verify it by running the following and getting output similar to below: ```bash $ python -c "import pyarmnn as ann;print(ann.GetVersion())" -'29.0.0' +'30.0.0' ``` ##### Dependencies diff --git a/python/pyarmnn/examples/object_detection/README.md b/python/pyarmnn/examples/object_detection/README.md index 7a946ad6f5..215cf772a2 100644 --- a/python/pyarmnn/examples/object_detection/README.md +++ b/python/pyarmnn/examples/object_detection/README.md @@ -54,7 +54,7 @@ $ pip show pyarmnn You can also verify it by running the following and getting output similar to below: ```bash $ python -c "import pyarmnn as ann;print(ann.GetVersion())" -'29.0.0' +'30.0.0' ``` ##### Dependencies diff --git a/python/pyarmnn/examples/speech_recognition/README.md b/python/pyarmnn/examples/speech_recognition/README.md index 854cdaf03b..d5fee8a010 100644 --- a/python/pyarmnn/examples/speech_recognition/README.md +++ b/python/pyarmnn/examples/speech_recognition/README.md @@ -18,7 +18,7 @@ You can also verify it by running the following and getting output similar to be ```bash $ python -c "import pyarmnn as ann;print(ann.GetVersion())" -'29.0.0' +'30.0.0' ``` ### Dependencies diff --git a/python/pyarmnn/src/pyarmnn/_version.py b/python/pyarmnn/src/pyarmnn/_version.py index 7c0940e7f3..d1b1ca290c 100644 --- a/python/pyarmnn/src/pyarmnn/_version.py +++ b/python/pyarmnn/src/pyarmnn/_version.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: MIT import os -version_info = (29, 0, 0) +version_info = (30, 0, 0) __dev_version_env = os.getenv("PYARMNN_DEV_VER", "") @@ -24,7 +24,7 @@ def check_armnn_version(installed_armnn_version: str, expected_armnn_version: st """Compares expected Arm NN version and Arm NN version used to build the package. Args: - installed_armnn_version (str): Arm NN version used to generate the package (e.g. 29.0.0) + installed_armnn_version (str): Arm NN version used to generate the package (e.g. 30.0.0) expected_armnn_version (str): Expected Arm NN version Returns: diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i index a2f57a3aa9..55b6795c90 100644 --- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i +++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i @@ -29,7 +29,7 @@ Contains: that can not be reduced will be left in Fp32. m_ReduceFp32ToFp16 (bool): Reduces Fp32 network to Fp16 for faster processing. Layers that can not be reduced will be left in Fp32. - m_ImportEnabled (bool): Enable memory import. + m_ImportEnabled (bool): Enable memory import of inport tensors. m_shapeInferenceMethod: The ShapeInferenceMethod modifies how the output shapes are treated. When ValidateOnly is selected, the output shapes are inferred from the input parameters of the layer and any mismatch is reported. @@ -38,6 +38,7 @@ Contains: with tensors which rank or dimension sizes are not specified explicitly, however this information can be calculated from the inputs. m_ModelOptions: List of backends optimisation options. + m_ExportEnabled (bool): Enable memory export of output tensors. ") OptimizerOptions; @@ -51,7 +52,8 @@ struct OptimizerOptions bool reduceFp32ToBf16 = false, ShapeInferenceMethod shapeInferenceMethod = armnn::ShapeInferenceMethod::ValidateOnly, bool importEnabled = false, - std::vector modelOptions = {}); + std::vector modelOptions = {}, + bool exportEnabled = false); bool m_ReduceFp32ToBf16; bool m_ReduceFp32ToFp16; @@ -59,6 +61,7 @@ struct OptimizerOptions ShapeInferenceMethod m_shapeInferenceMethod; bool m_ImportEnabled; std::vector m_ModelOptions; + bool m_ExportEnabled; }; %model_options_clear; diff --git a/python/pyarmnn/test/test_modeloption.py b/python/pyarmnn/test/test_modeloption.py index c03d4a8cce..a47d2da358 100644 --- a/python/pyarmnn/test/test_modeloption.py +++ b/python/pyarmnn/test/test_modeloption.py @@ -71,7 +71,8 @@ def test_optimizer_options_with_model_opt(): False, ShapeInferenceMethod_InferAndValidate, True, - [a]) + [a], + True) mo = oo.m_ModelOptions @@ -112,7 +113,8 @@ def test_optimizer_options_fail(): False, ShapeInferenceMethod_InferAndValidate, True, - a) + a, + True) assert "Wrong number or type of arguments" in str(err.value) @@ -122,7 +124,8 @@ def test_optimizer_options_fail(): True, ShapeInferenceMethod_InferAndValidate, True, - [a]) + [a], + True) assert "BFloat16 and Float16 optimization cannot be enabled at the same time" in str(err.value) diff --git a/python/pyarmnn/test/test_runtime.py b/python/pyarmnn/test/test_runtime.py index a37772c5df..a6c4e1dcc0 100644 --- a/python/pyarmnn/test/test_runtime.py +++ b/python/pyarmnn/test/test_runtime.py @@ -156,8 +156,8 @@ def test_load_network_properties_provided(random_runtime): opt_network, _ = ann.Optimize(network, preferred_backends, runtime.GetDeviceSpec(), ann.OptimizerOptions()) - inputSource = ann.MemorySource_Malloc - outputSource = ann.MemorySource_Malloc + inputSource = ann.MemorySource_Undefined + outputSource = ann.MemorySource_Undefined properties = ann.INetworkProperties(False, inputSource, outputSource) net_id, messages = runtime.LoadNetwork(opt_network, properties) assert "" == messages diff --git a/python/pyarmnn/test/test_setup.py b/python/pyarmnn/test/test_setup.py index 4a6f930cbf..27feda2647 100644 --- a/python/pyarmnn/test/test_setup.py +++ b/python/pyarmnn/test/test_setup.py @@ -87,15 +87,15 @@ def test_gcc_serch_path(): def test_armnn_version(): - check_armnn_version('29.0.0', '29.0.0') + check_armnn_version('30.0.0', '30.0.0') def test_incorrect_armnn_version(): with pytest.raises(AssertionError) as err: - check_armnn_version('29.0.0', '29.1.0') + check_armnn_version('30.0.0', '30.1.0') - assert 'Expected ArmNN version is 29.1.0 but installed ArmNN version is 29.0.0' in str(err.value) + assert 'Expected ArmNN version is 30.1.0 but installed ArmNN version is 30.0.0' in str(err.value) def test_armnn_version_patch_does_not_matter(): - check_armnn_version('29.0.0', '29.0.1') + check_armnn_version('30.0.0', '30.0.1') diff --git a/python/pyarmnn/test/test_version.py b/python/pyarmnn/test/test_version.py index f74ae020cf..83606ab15b 100644 --- a/python/pyarmnn/test/test_version.py +++ b/python/pyarmnn/test/test_version.py @@ -18,7 +18,7 @@ def test_dev_version(): importlib.reload(v) - assert "29.0.0.dev1" == v.__version__ + assert "30.0.0.dev1" == v.__version__ del os.environ["PYARMNN_DEV_VER"] del v @@ -30,7 +30,7 @@ def test_arm_version_not_affected(): importlib.reload(v) - assert "29.0.0" == v.__arm_ml_version__ + assert "30.0.0" == v.__arm_ml_version__ del os.environ["PYARMNN_DEV_VER"] del v -- cgit v1.2.1