Commit graph

52 commits

Author SHA1 Message Date
Xusong Wang
96e68dc8e0 Add VTS tests for NNAPI compilation caching.
Add the following tests for compilation caching:
- validation tests
  - Test isCachingSupported
  - Test prepareModelFromCache with invalid numFd and invalid access mode
  - Test saveToCache with invalid numFd, invalid access mode,
    invalid file size, and invalid fd offset
- execution test
  - Save a mobilenet model to cache and then retrieve and run accuracy
    evaluation.
  - The same test but the file offsets for prepareModelFromCache is not at zero.
- security test
  - CompilationCachingSecurityTest.CorruptedSecuritySensitiveCache
    Randomly flip one bit of security-sensitive cache.
  - CompilationCachingSecurityTest.WrongLengthSecuritySensitiveCache
    Randomly append bytes to security-sensitive cache.
  - CompilationCachingSecurityTest.WrongToken
    Randomly flip one bit of cache token.

Bug: 119616526
Test: VtsHalNeuralnetworksV1_xTargetTest with 1.2 sample driver
Test: VtsHalNeuralnetworksV1_xTargetTest with a test driver that can
      read and write cache entries
Change-Id: Iae9211cb28ce972b29572dfedd45d1ade4dfdaf5
Merged-In: Iae9211cb28ce972b29572dfedd45d1ade4dfdaf5
(cherry picked from commit 3405878e5e)
2019-02-08 10:17:17 -08:00
Xusong Wang
1a06e77831 Add 1.2 NN HAL: IPreparedModel & callbacks.
Create 1.2 version IPreparedModel, IPreparedModelCallback, and
IExecutionCallback.

Currently the new interfaces are created the same as 1.0 version,
but will have more methods introduced in later CLs.

Bug: 73506513
Test: VtsHalNeuralnetworksV1_xTargetTest with 1.2 sample driver
Change-Id: Icf4d04c22f88e825d87562f1489377fdf6bf585d
Merged-In: Icf4d04c22f88e825d87562f1489377fdf6bf585d
(cherry picked from commit b5cb8f7632)
2018-12-13 13:56:51 -08:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00
Michael K. Sanders
a8efddc558 Autogenerates VTS ValidationTest tests.
This removes the use of a separately updated list of models
that has fallen out of sync.

Bug: 119293899
Test: VtsHalNeuralnetworksV1_2TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_2CompatV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_2CompatV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1CompatV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all

Change-Id: I2d8804d78331b8fceab4c622c871802aa0f0a4b4
Merged-In: I2d8804d78331b8fceab4c622c871802aa0f0a4b4
(cherry picked from commit b5fe58b95a)
2018-11-29 18:46:36 +00:00
Michael K. Sanders
fc2b10ec86 Separates VTS tests by HAL version.
This prevents a fatal relocation error trying to link
VtsHalNeuralnetworksV1_2TargetTest if it exceeds 1GB.

Test: VtsHalNeuralnetworksV1_2TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_2CompatV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_2CompatV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1CompatV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Bug: 119135172

Change-Id: Id5cfdeddc2f0d810b4eb47084640ae1dbf297ea1
Merged-In: Id5cfdeddc2f0d810b4eb47084640ae1dbf297ea1
(cherry-pick from 0fb3892c93)
2018-11-29 18:46:31 +00:00
Michael K. Sanders
da3bdbc918 Implements RANDOM_MULTINOMIAL CTS/VTS tests.
Bug: 113562775
Test: VtsHalNeuralnetworksV1_2TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.2::IDevice/sample-all
Change-Id: I3d39d056bf5034e01ce9c5c5e3f416a63d7ec8eb
Merged-In: I3d39d056bf5034e01ce9c5c5e3f416a63d7ec8eb
(cherry picked from commit 941d61a62d)
2018-11-05 18:04:09 -08:00
Lev Proleev
08662c6f66 Add new OperandType BOOL.
- Add new enum OperandType::BOOL.
- Add v1.2 Operand, OperandType.
- Add VTS validation tests for BOOL.

Bug: 117423393

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_2TargetTest

Change-Id: I420e2afeb09b881a499eee6b138c1f26e9874f5a
Merged-In: I420e2afeb09b881a499eee6b138c1f26e9874f5a
(cherry picked from commit abad9eac44)
2018-10-19 09:29:09 +01:00
Miao Wang
a57eb5bcd8 Update OWNERS
Test: none
Change-Id: I96db4de3f34837c9f3174fd01e7d06d3355617f3
Merged-In: I96db4de3f34837c9f3174fd01e7d06d3355617f3
(cherry picked from commit 6653e69dc6)
2018-10-09 13:10:11 +00:00
Slava Shklyaev
af528bc51c Sync docs with NeuralNetworks.h
Bug: 115855152
Test: none
Change-Id: I15b5207f3ffbea57a4c8313ce744a22ce72b402e
2018-09-24 12:31:03 +00:00
Slava Shklyaev
feb87a9cf8 Add VTS tests for NeuralNetworks v1.2
This is a copy the v1.1 tests since we don't have any new ops
implemented in v1.2 yet.

Bug: 114365802
Test: mm
Test: NNAPI VTS
Change-Id: Ida7525fcd3ae0fd6f88ff9591e06aba922bdae64
Merged-In: Ida7525fcd3ae0fd6f88ff9591e06aba922bdae64
(cherry-picked from 871be94770)
2018-09-21 14:46:24 +01:00
David Gross
c6625a71e4 resolve merge conflicts of ad2db12b3a to stage-aosp-master
BUG: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I11175cd1624734e50adc30e63cb32f652c8f1380
2018-06-19 11:49:35 -07:00
David Gross
f839bbedd7 resolve merge conflicts of 2a970cb851 to stage-aosp-master
BUG: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I587517c463d2d334f1f16eb614923d06d2dcaaaf
2018-06-19 10:00:21 -07:00
David Gross
ad2db12b3a Documentation improvements.
Document that every model must have at least one input and one output.

Document graph constraints.

Elaborate a bit on "execution order".

Indicate how operands of different lifetimes are defined (or not).

Fix ANEURALNETWORKS_L2_NORMALIZATION documentation for output shape.

ANEURALNETWORKS_SPACE_TO_DEPTH has inconsistent names for dimensions.

ANEURALNETWORKS_PAD documentation doesn't clearly describe rank or
dimensions of output tensor.

Bug: 66478689
Bug: 67601776
Bug: 69631404
Bug: 79482779
Bug: 79539157
Bug: 79539928

Test: mma at tree root

Change-Id: I6227bea2a486d4b45022d590915e10a124d323d4
Merged-In: I6227bea2a486d4b45022d590915e10a124d323d4
2018-06-19 00:09:07 +00:00
David Gross
2a970cb851 Documentation improvements.
Fix Model::pools documentation.

Specify that an output cannot overlap with an output/input/constant.

Document circumstances under which a prepared model should be expected to execute correctly.

Bug: 87805381
Bug: 79888238
Bug: 77237715

Test: mma at tree root

Change-Id: Ibf3daacad79f1d7e6127acf3887bd98b7c6bdf4e
Merged-In: Ibf3daacad79f1d7e6127acf3887bd98b7c6bdf4e
2018-06-19 00:08:17 +00:00
Mika Raento
d534d32892 Update namespace to match framework/ml/nn
Bug: 72448000
Test: make vts
Change-Id: I3543913561b33e4d1e9d960ec1f81624fb0a1e6b
Merged-In: I3543913561b33e4d1e9d960ec1f81624fb0a1e6b
(cherry picked from commit de16694a60)
2018-05-09 17:53:20 +01:00
Michael Butler
89300b2553 NNAPI: sync NDK and HAL documentation
Bug: 72650109
Test: mma
Merged-In: I3e0a3680b89d80be500d8975f587f2d7c33fea10
Change-Id: I3e0a3680b89d80be500d8975f587f2d7c33fea10
(cherry picked from commit e98352806b)
2018-05-09 17:53:16 +01:00
Mika Raento
c5c7bfe156 Update neuralnetworks/*/types.hal to match impl
Updates hardware/interfaces/neuralnetworks/1.(0|1)/types.hal to match
the NeuralNetworks.h header in framework/ml/nn. Only comments have
changed.

Updated using framework/ml/nn/tools/sync_enums_to_hal.py.

Change-Id: I0754868ad8acf6e2e0c5b83661d04682febec9b0
Merged-In: I0754868ad8acf6e2e0c5b83661d04682febec9b0
Bug: 77604249
Test: checked changes with git diff
Test: mm in $ANDROID_BUILD_TOP
(cherry picked from commit 7e64e7f924)
2018-05-09 17:52:00 +01:00
Michael Butler
9351f1bc67 Merge "NNAPI: sync NDK and HAL documentation" into pi-dev
am: 89802f7423

Change-Id: I3c4734c05f627d727ff8de46b1b76656438acdd1
2018-04-27 16:19:53 -07:00
Michael Butler
e98352806b NNAPI: sync NDK and HAL documentation
Bug: 72650109
Test: mma
Change-Id: I3e0a3680b89d80be500d8975f587f2d7c33fea10
2018-04-27 14:45:32 -07:00
android-build-prod (mdb)
49336421f4 Merge "Replace hidl_enum_{iterator -> range}." am: 71d7d91ba8
am: 030935b4a0

Change-Id: I114e81425ba04519981121bb511732090fcdbd00
2018-04-27 11:22:45 -07:00
Mika Raento
95eef46fa2 Merge "Update namespace to match framework/ml/nn" into pi-dev 2018-04-26 09:20:41 +00:00
Steven Moreland
303afec451 Replace hidl_enum_{iterator -> range}.
This class is technically an iterable object, not a range.

Bug: 78573628
Test: N/A
Change-Id: Ibe307cb2e55e030ecd48e7cab09e5863f6a5e2f7
2018-04-25 12:49:05 -07:00
Mika Raento
7e64e7f924 Update neuralnetworks/*/types.hal to match impl
Updates hardware/interfaces/neuralnetworks/1.(0|1)/types.hal to match
the NeuralNetworks.h header in framework/ml/nn. Only comments have
changed.

Updated using framework/ml/nn/tools/sync_enums_to_hal.py.

Change-Id: I0754868ad8acf6e2e0c5b83661d04682febec9b0
Bug: 77604249
Test: checked changes with git diff
Test: mm in $ANDROID_BUILD_TOP
2018-04-25 12:46:33 +01:00
Michael Butler
3559309ace Merge "NNAPI: Create VTS _relaxed tests for newly added tests" into pi-dev 2018-04-23 22:35:00 +00:00
Michael Butler
f2036fd441 NNAPI: Create VTS _relaxed tests for newly added tests
New tests were added to V1_0 and V1_1 specs, but they did not have a
"_relaxed" test in V1_1.

This CL updates the 1.1 VTS validation as a followup CL.

Bug: 76434855
Test: mma
Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_0TargetTest
Test: VtsHalNeuralnetworksV1_1TargetTest
Change-Id: Ic6b3aeb12a8b90e43cf082c78442af7ec7a1018f
2018-04-23 12:51:03 -07:00
Michael Butler
579ef36ee8 Merge "Update NNAPI OWNERS file -- VTS" into pi-dev 2018-04-20 19:52:48 +00:00
Michael Butler
d42a6d4ca8 Update NNAPI OWNERS file -- VTS
Bug: 78353126
Test: Not necessary
Change-Id: Ic7e14202454d81c7ad432c0aca6752be9f58f71f
2018-04-20 19:50:05 +00:00
Mika Raento
de16694a60 Update namespace to match framework/ml/nn
Bug: 72448000
Test: make vts
Change-Id: I3543913561b33e4d1e9d960ec1f81624fb0a1e6b
2018-04-19 14:38:52 +01:00
Michael Butler
23ee97e748 Update Android.bp via update-makefiles.sh
When calling update-makefiles.sh there are
some unrelated changes that were missed in
previous commits.

Bug: 68112778
Test: mma
Change-Id: I22b76f3d5bcd084afd2f06e613d2f9f37c1a0c9c
2018-04-18 19:34:10 +00:00
Michael Butler
f02692d840 NNAPI: Add execution preference to prepareModel (HAL)
A model can be prepared in different ways to optimize for different
use-cases. This CL propagates the execution preference across the HAL so
that the NN service can better fit the users needs.

Bug: 77864669
Test: mma
Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_1TargetTest
Merged-In: Ib928d510d462f36b6a87d5e81010513db7829fa8
Change-Id: Ib928d510d462f36b6a87d5e81010513db7829fa8
(cherry picked from commit 2504c2fe4f)
2018-04-18 19:08:24 +00:00
Michael Butler
1e9f62d4f2 Sync NNAPI Operand and Operation documentation fixes
This CL adds the typo fixes, bug fixes, and missing descriptions added
to the NNAPI but not to the NN HAL. This CL also adds description of
implicit padding, which was present but not documented in 1.0.

Bug: 77541934
Bug: 75459529
Test: mma
Merged-In: I7baa9e515057c43e759849284b3bb0d420a71f1b
Change-Id: I7baa9e515057c43e759849284b3bb0d420a71f1b
(cherry picked from commit 25f3ad328b)
2018-04-18 19:08:17 +00:00
Michael Butler
7ed6135471 NN validation tests
This CL adds validation tests for all of the existing generated models.
The strategy of this CL is this: given a valid model or request, make a
single change to invalidate the model or request, then verify that the
vendor service driver catches the inconsistency and returns
INVALID_ARGUMENT.

Bug: 67828197
Test: mma
Test: VtsHalNeuralnetworksV1_0TargetTest
Test: VtsHalNeuralnetworksV1_1TargetTest
Merged-In: I8efcdbdccc77aaf78992e52c1eac5c940fc81a03
Change-Id: I8efcdbdccc77aaf78992e52c1eac5c940fc81a03
(cherry picked from commit f76acd0312)
2018-04-18 19:07:52 +00:00
David Gross
fa89f009f9 Add validation tests for consistency of model inputs and outputs.
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-float-fast --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-quant --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*

Bug: 67828197
Merged-In: I245227dce095b9cbbb9b527ad99aa71d11f77c4f
Change-Id: I245227dce095b9cbbb9b527ad99aa71d11f77c4f
(cherry picked from commit 7a76d8a7a8)
2018-04-18 19:07:45 +00:00
Pirama Arumuga Nainar
0d8dbeecd6 Disable arm32 asan for VtsHalNeuralnetworksV1_1TargetTest
Bug: http://b/74200014

Building this module with asan triggers an internal error in gold.

Test: mma SANITIZE_TARGET=address in
hardware/interfaces/neuralnetworks/1.1/vts/functional

Merged-In: I3ce5352a6c86c8dca257d35af06989e57f871749
Change-Id: I3ce5352a6c86c8dca257d35af06989e57f871749
(cherry picked from commit cca38c56f4)
2018-04-17 22:30:07 +00:00
Michael Butler
2504c2fe4f NNAPI: Add execution preference to prepareModel (HAL)
A model can be prepared in different ways to optimize for different
use-cases. This CL propagates the execution preference across the HAL so
that the NN service can better fit the users needs.

Bug: 77864669
Test: mma
Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_1TargetTest
Change-Id: Ib928d510d462f36b6a87d5e81010513db7829fa8
2018-04-12 19:56:14 -07:00
David Gross
f8ce2138cf Fix documentation.
1. Fix documentation for Operand::numberOfConsumers.
2. Fix typos.

Bug: 69055733
Bug: 76016141
Bug: 74111771

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all

Merged-In: Ib3d5bbfa701070597731992c3867f72d7b0280bd

Change-Id: I9572b51fa5d3fef01554a5386bd4137215e52599
(cherry picked from commit 541e24311d)
2018-04-12 19:16:25 +00:00
Michael Butler
25f3ad328b Sync NNAPI Operand and Operation documentation fixes
This CL adds the typo fixes, bug fixes, and missing descriptions added
to the NNAPI but not to the NN HAL. This CL also adds description of
implicit padding, which was present but not documented in 1.0.

Bug: 77541934
Bug: 75459529
Test: mma
Change-Id: I7baa9e515057c43e759849284b3bb0d420a71f1b
2018-04-11 13:22:00 -07:00
David Gross
541e24311d Fix documentation.
1. Fix documentation for Operand::numberOfConsumers.
2. Fix typos.

Bug: 69055733
Bug: 76016141
Bug: 74111771

Test: NeuralNetworksTest_static
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all

Change-Id: Ib3d5bbfa701070597731992c3867f72d7b0280bd
2018-04-10 14:31:54 -07:00
Michael Butler
f76acd0312 NN validation tests
This CL adds validation tests for all of the existing generated models.
The strategy of this CL is this: given a valid model or request, make a
single change to invalidate the model or request, then verify that the
vendor service driver catches the inconsistency and returns
INVALID_ARGUMENT.

Bug: 67828197
Test: mma
Test: VtsHalNeuralnetworksV1_0TargetTest
Test: VtsHalNeuralnetworksV1_1TargetTest
Change-Id: I8efcdbdccc77aaf78992e52c1eac5c940fc81a03
2018-03-28 11:48:13 -07:00
David Gross
7a76d8a7a8 Add validation tests for consistency of model inputs and outputs.
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-float-fast --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-quant --gtest_filter=Flavor/NeuralnetworksInputsOutputsTest.*

Bug: 67828197
Change-Id: I245227dce095b9cbbb9b527ad99aa71d11f77c4f
2018-03-23 10:12:47 -07:00
Nathan Harold
c893754c0d Update Makefiles Missed In Previous Commits
When calling update-makefiles.sh there are
some unrelated changes that were missed in
previous commits.

Bug: 8675309
Test: compilation
Change-Id: I5bf67fbcc809de36bde1869ada7b835566a5198b
2018-03-19 16:37:46 -07:00
Pirama Arumuga Nainar
cca38c56f4 Disable arm32 asan for VtsHalNeuralnetworksV1_1TargetTest
Bug: http://b/74200014

Building this module with asan triggers an internal error in gold.

Test: mma SANITIZE_TARGET=address in
hardware/interfaces/neuralnetworks/1.1/vts/functional

Change-Id: I3ce5352a6c86c8dca257d35af06989e57f871749
2018-03-06 19:30:40 +00:00
Michael Butler
1ae02d63df Relax NeuralNetwork's VTS positive and negative base tests
There are some NN VTS tests that assume a service is able to generate a
model consisting only of a floating point add operation. However, some
drivers do not support floating point operations. This CL relaxes the
test requirements to allow a test to be skipped if the service does not
support floating point add.

Bug: 72764145
Test: mma
Test: VtsHalNeuralnetworksV1_0TargetTest

Merged-In: I6b0644432680fc2f8098b5187795dc2953df03f9
Change-Id: I6b0644432680fc2f8098b5187795dc2953df03f9
(cherry picked from commit 4d5bb1097a)
2018-03-05 13:01:00 -08:00
David Gross
a8cd639dc0 Add Capabilities::relaxedFloat32toFloat16Performance for 1.1.
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/hvx
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: NeuralNetworksTest_static

Bug: 63911257

Merged-In: I040b68d84504180ba3039e4690d0cd43c2c2649f
Change-Id: I040b68d84504180ba3039e4690d0cd43c2c2649f
(cherry picked from commit 4b458caa4e)
2018-03-05 13:00:46 -08:00
Michael Butler
e0d9b167a6 NNAPI narrow evaluation for P -- HAL
We have determined that for Android P it is sufficient to have a
mechanism for a developer to specify on a per-model basis that it is
acceptable for FLOAT32 operations to be carried out as if they were
FLOAT16 operations. This CL extends the model to include information on
these precision requirements.

Bug: 63911257
Test: mm
Test: NeuralNetworksTest
Test: VtsHalNeuralnetworksV1_0TargetTest

Merged-In: I5331e69c05c20c588035897322a6c7dceca374a0
Change-Id: I5331e69c05c20c588035897322a6c7dceca374a0
(cherry picked from commit 7ffe78ba76)
2018-03-05 13:00:14 -08:00
Miao Wang
4862d612ad Refactor NN API VTS tests and add v1.1 tests
- Create VtsHalNeuralnetworksTest_utils module to be shared between
    v1.x tests.
  - Split the existing tests into two categories: basic, and generated.
  - Created v1.1 VTS tests ensuring no regression in existing ML models.

Bug: 63911257
Test: mm
Test: NNAPI VTS tests pass on v1.0 and v1.1 sample drivers

Merged-In: Ic77c90a3a5bbd96b0ce2acd03764dde4b3034cc9
Change-Id: Ic77c90a3a5bbd96b0ce2acd03764dde4b3034cc9
(cherry picked from commit a2d04c828e)
2018-03-05 12:59:55 -08:00
Michael Butler
4d5bb1097a Relax NeuralNetwork's VTS positive and negative base tests
There are some NN VTS tests that assume a service is able to generate a
model consisting only of a floating point add operation. However, some
drivers do not support floating point operations. This CL relaxes the
test requirements to allow a test to be skipped if the service does not
support floating point add.

Bug: 72764145
Test: mma
Test: VtsHalNeuralnetworksV1_0TargetTest
Change-Id: I6b0644432680fc2f8098b5187795dc2953df03f9
2018-02-26 15:24:46 -08:00
David Gross
4b458caa4e Add Capabilities::relaxedFloat32toFloat16Performance for 1.1.
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/sample-all
Test: VtsHalNeuralnetworksV1_0TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.0::IDevice/hvx
Test: VtsHalNeuralnetworksV1_1TargetTest --hal_service_instance=android.hardware.neuralnetworks@1.1::IDevice/sample-all
Test: NeuralNetworksTest_static

Bug: 63911257

Change-Id: I040b68d84504180ba3039e4690d0cd43c2c2649f
2018-02-26 19:01:19 +00:00
Michael Butler
7ffe78ba76 NNAPI narrow evaluation for P -- HAL
We have determined that for Android P it is sufficient to have a
mechanism for a developer to specify on a per-model basis that it is
acceptable for FLOAT32 operations to be carried out as if they were
FLOAT16 operations. This CL extends the model to include information on
these precision requirements.

Bug: 63911257
Test: mm
Test: NeuralNetworksTest
Test: VtsHalNeuralnetworksV1_0TargetTest
Change-Id: I5331e69c05c20c588035897322a6c7dceca374a0
2018-02-20 19:06:37 -08:00
Miao Wang
a2d04c828e Refactor NN API VTS tests and add v1.1 tests
- Create VtsHalNeuralnetworksTest_utils module to be shared between
    v1.x tests.
  - Split the existing tests into two categories: basic, and generated.
  - Created v1.1 VTS tests ensuring no regression in existing ML models.

Bug: 63911257
Test: mm
Test: NNAPI VTS tests pass on v1.0 and v1.1 sample drivers

Change-Id: Ic77c90a3a5bbd96b0ce2acd03764dde4b3034cc9
2018-02-09 18:07:37 -08:00