History log of /frameworks/ml/nn/common/include/OperationsUtils.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b66b5abcef40e88df6ac18ce7890372192102323 02-Apr-2018 Miao Wang <miaowang@google.com> Finalize STRIDED_SLICE

- Add documentation for begin_mask, end_mask, shrink_axis_mask.
- Add support for shrink_axis_mask, and corresponding tests.
- Add validation tests for STRIDED_SLICE.
- Updated existing tests and re-generated CTS and VTS tests.

Bug: 73661082
Test: NeuralNetworksTests_static
Change-Id: I49ad2ffcb3b7496ee1225618833ba324bb01c5b5
/frameworks/ml/nn/common/include/OperationsUtils.h
e3ee676c6097e4b2be1232cb4d646a54321a5869 21-Jan-2018 Miao Wang <miaowang@google.com> Porting CPU implementation from TFLite for the following ops:

- Div
- Sub
- Pad
- Mean
- Squeeze
- Transpose
- BatchToSpace
- SpaceToBatch
- StridedSlice

Test: mm
Bug: 63911257
Change-Id: Ia7d8f175598a5587118d506178392c1e8de6795a
/frameworks/ml/nn/common/include/OperationsUtils.h
d9c5ba866bb0575cbb894c672e0a800844ccf6f8 15-Dec-2017 Miao Wang <miaowang@google.com> Refactor CPU operations

- Share the same internal implementation as TF Lite.

Test: mm
Test: NeuralNetworksTest pass
Change-Id: I4f0f035087eca1d45d651249bd7f9933a5787bfe
/frameworks/ml/nn/common/include/OperationsUtils.h
e38ec877d1f3a47d889567ffc391236fceb1be30 10-Oct-2017 Miao Wang <miaowang@google.com> Fix the helper function converting explict padding to implicit padding

Bug: 67478959
Test: mm
Test: NerualNetworksTest pass
Change-Id: I3f959031e5d31e2b01ee613b4f1038df883b708d
/frameworks/ml/nn/common/include/OperationsUtils.h
8c689bdfc391e47854ec27bad0f9d685135af253 27-Sep-2017 Yang Ni <yangni@google.com> Add preparation code missed in some OPs

Bug: 63905942

This updates speech model related OPs: Embedding Lookup,
Hashtable Lookup, LSH Projection, LSTM, RNN, and SVDF.

Deduce the shape of an output or intermediate tensor.
Allocate memory if needed (i.e., not set by user).
Validate inputs (dimensions, etc.)

Minor cleanups related to the utility functions shared by these ops.

Also made necessary fixes and implementations as discovered while
doing this.

Test: NeuralNetworksTest

Change-Id: I7c0b789edb4d3565526d58905609d2023c1a5351
/frameworks/ml/nn/common/include/OperationsUtils.h
25f0f2dcd7049cd9f8a60133697dff114bbbf00e 28-Sep-2017 Miao Wang <miaowang@google.com> Allow ADD and MUL taking quantized input.

- Implement the quant8 path for ADD and MUL.
- Add tests for quant8 ADD and MUL, both normal and broadcast version.
- Add validation for quantization parameters, forcing scale >= 0 and
zeroPoint in range [0, 255] for QUANT8_ASYMM type operands.

Bug: 63905942
Test: mm
Test: NeuralNetworksTest pass
Change-Id: Ib643217737af9624a079369e0aea792025223fbb
/frameworks/ml/nn/common/include/OperationsUtils.h
be2b22578baf949d7be42ba002cee94304daf53c 22-Sep-2017 Miao Wang <miaowang@google.com> Use softer error reporting instead of CHECK*

- CHECK(x) checks whether condition x holds and LOG(FATAL) if not, which
will result in calling abort().
- This change uses nnOpsCheck which would log the failing condition and
return false to the runtime, allowing graceful failures.

Bug: 63905942
Test: NeuralNetworkTests pass
Change-Id: I8b1217f777638f974c91fa429449e39d37218af6
/frameworks/ml/nn/common/include/OperationsUtils.h
3cc685b32dee7f28504fb1bec633c3cead137538 12-Sep-2017 Miao Wang <miaowang@google.com> Add implicit padding support

- Transient change, will be removed.

Bug: 63905942
Test: mm
Test: Converting the test with implicit padding pass.
Change-Id: I888bf3daa42ec2394b0fed1522c0aa353f5ddbaa
/frameworks/ml/nn/common/include/OperationsUtils.h
1b69ceeb5920503f18b6c6c1233b1fa481b6e634 11-Sep-2017 Miao Wang <miaowang@google.com> Move all op preparation functions to OperationsUtils.

- All op operations are moved to OperationUtils.
- Add a helper function to derive implict padding scheme from
explicit paddings.
- Make all prepare function return false when seeing error.

Bug: 63905942
Test: NeuralNetworkTests
Change-Id: I16538dbd731a5ca1e6de5e0d0b269e9f386f4d29
/frameworks/ml/nn/common/include/OperationsUtils.h
6cd685f64bd82c003b8d0943fc6b7b8e0730b939 10-Sep-2017 Miao Wang <miaowang@google.com> Making padding explicit, instead of SAME / VALID

- Use explicit padding {padding_left, padding_right, padding_top,
padding_bottom} for applicable ops.
- Updated the corresponding tests.

Bug: 63905942
Test: mm
Test: updated NeuralNetworkTest pass
Change-Id: Ifb8ccf59fbe5766dffe1537aa5357192a7c88a70
/frameworks/ml/nn/common/include/OperationsUtils.h
55cef2193279a646292fdeb355399627dd8990c8 09-Sep-2017 Miao Wang <miaowang@google.com> Explicitly add "_2D" to applicable ops, and add fused activation
function enum.

- Add the fused activation enum to explicitly set the expectation that
only the included ones are supported for fused ops.
- Add "_2D" to CONV, DEPTHWISE_CONV, AVG_POOL, MAX_POOL, and L2_POOL,
since they are only supposed to do 2D computation.
- Updated the tests and the stack to plumbing the changes through.

Bug: 63905942
Test: mm
Test: NeuralNetworksTests pass for both CPU path and sample hidl driver.
Change-Id: I60aeabab1d193d26d938c0d1d3ffdd519740d222
/frameworks/ml/nn/common/include/OperationsUtils.h
27e9be3904b034e422ee9b6ab70b35ea994d2b39 03-Aug-2017 Miao Wang <miaowang@google.com> Initial implementation of the following quantized ops.

- CONV_QUANT8
- DEPTHWISE_CONV_QUANT8
- AVERAGE_POOL_QUANT8
- MAX_POOL_QUANT8
- LOGISTIC_QUANT8

Additionally, added functions to plumb through quantization
parameters.

Bug: 63905942
Test: mm
Test: end-to-end MobileNet quantized test pass

Change-Id: Ib2753c68bf2c51467ae1c158b45541bcfdf10789
/frameworks/ml/nn/common/include/OperationsUtils.h
eb1f88846f147d1d80ee0d688fe4635b89a40ffa 26-Jul-2017 Miao Wang <miaowang@google.com> Implement the following operations for Android NN runtime.

- CONV_FLOAT32
- DEPTHWISE_CONV_FLOAT32
- AVERAGE_POOL_FLOAT32
- L2_POOL_FLOAT32
- MAX_POOL_FLOAT32
- RELU_FLOAT32
- RELU6_FLOAT32
- TANH_FLOAT32
- LOGISTIC_FLOAT32

Bug: 63905942
Test: mm
Test: End-to-end test with MobileNet pass

Change-Id: I3eaa9794c7cdffd01792d26c5d6497c8d56d8605
/frameworks/ml/nn/common/include/OperationsUtils.h
707dbd2d55f5dacf78ffb3ad7c8b3f37c2e9d758 25-Jul-2017 Jean-Luc Brouillet <jeanluc@google.com> Pass the model as an HIDL component.

Major rework where instead of serializing the model and
passing it in a shared memory, we pass it via HIDL.

The runtime/test code does two run, one goes through the
default CPU path, the other through any available driver.

Note: The code in hardware/../sample was written by Michael Buttler.

Bug: 63905942
Test: Runs both the CPU path and through the sample driver.
Change-Id: Ie3ee975d33056ba299895b13193f4698a690dd04
/frameworks/ml/nn/common/include/OperationsUtils.h
96775128e3bcfdc5be51b62edc50309c83861fe8 12-Jul-2017 Jean-Luc Brouillet <jeanluc@google.com> First implementation of the Neural Networks API.

This first version can run a simple query on the CPU either
via the fallback path or through a simulated driver.

This code has many deficiencies: single threaded, not all
validation are done, not going through HIDL, and not
enough unit tests. Expect more changes!

Test: Compiled and ran the unit tests

Change-Id: I9f6a485a2e7207aeb5f91a2904dcb4b7fd8a6f65
/frameworks/ml/nn/common/include/OperationsUtils.h