History log of /frameworks/ml/nn/common/operations/LSTMTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
035ce1eb75b767fa68e1ed5697f460a721ca4ee1 06-Oct-2017 Yang Ni <yangni@google.com> Fix unit tests for ops with states

Bug: 67427635

These tests got broken during the transition from the stateful API
to a stateless API.

This CL fixes them (LSTMTest, RNNTest, and SVDFTest) to correctly
use double buffering to manage states in the client, i.e., swapping
the two buffers for states before and after the ops across inferences.

Test: LSTMTest: adb shell /data/nativetest64/lstm_test/lstm_test
Test: RNNTest: adb shell /data/nativetest64/rnn_test/rnn_test
Test: SVDFTest: adb shell /data/nativetest64/svdf_test/svdf_test
Test: NeuralNetworksTest (not affected)

Change-Id: I77e34e42613174ac793410c154f9ecad86e03165
/frameworks/ml/nn/common/operations/LSTMTest.cpp
66d5cb6e3a90aefc8d545f6369080ab88de9d667 05-Oct-2017 Jean-Luc Brouillet <jeanluc@google.com> Rename setInputsAndOutputs

To avoid confusion with other set* functions, rename setInputsAndOutputs
to identifyInputsAndOutputs.

Also added a few new generated tests when I reran generate_test.sh.

Bug: 63905942
Test: local & VTS tests
Change-Id: Ie947044bee1a97426c847b9d66e60f0c25395bbc
/frameworks/ml/nn/common/operations/LSTMTest.cpp
eefb1e60444afd08a4350e11f281ac7064ebba63 04-Oct-2017 Yang Ni <yangni@google.com> Change stateful Ops to stateless ones

Bug: 63905942

Updated Ops RNN, LSTM, and SVDF.
Split outputs used for states into inputs and outputs.

Test: NeuralNetworksTest
Change-Id: Ia3d11f640cba4cab1b94d0b9746c46d347c024a4
/frameworks/ml/nn/common/operations/LSTMTest.cpp
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/operations/LSTMTest.cpp
65aa556323f4a054f80a75b6c4c721b2a7ed3298 14-Sep-2017 David Gross <dgross@google.com> Make Compilation API synchronous.

Per advice from the API council, the Compilation API no longer exposes
asynchronous behavior to the user -- rather than start() and wait()
APIs, we now have a finish() API.

Also:
- Track whether or not Compilation::finish() has been invoked, for
the sake of API usage checking.
- Changed Model::finish() to return Result not int, for consistency.
- Made Model and Compilation documentation more similar to one another.
- Fixed typos in documentation.

NOTE: It's possible to implement compilation asynchronously behind the
synchronous API -- e.g., Compilation_finish() starts compilation
asynchronously, and we implicitly wait for it to complete at the point of
Request_startCompute(). However, this would defeat one of the purposes of
an explicit Compilation API -- giving the application control over when
to spend the time compiling, to keep it off a critical timing path, such
as repeatedly applying a model to a sequence of frames in real time.

Bug: 63905942
Test: nn/runtime/tests
Change-Id: I7194e277aa6211af66794d917dcc5254c7d81af4
/frameworks/ml/nn/common/operations/LSTMTest.cpp
3ced3cfd5b8f22b632c35f24e585c4847383b195 13-Sep-2017 David Gross <dgross@google.com> Rename Request to Execution at the API level.

There's a separate notion of Request at the HIDL level;
this is not renamed.

Bug: 63905942
Test: nn/runtime/tests

Change-Id: I671e3b387d735a9091dc5a2d14afbea6b45f444c
/frameworks/ml/nn/common/operations/LSTMTest.cpp
544739620cd7f37d40524d2407c92042e485c73f 11-Sep-2017 David Gross <dgross@google.com> More discipline for models and requests.

- Must explicitly call new finish() API on model before compiling
or freeing.

- Must not modify a request once start() has been called on it.

Bug: 63905942
Test: nn/runtime/tests, nn/common/operations tests
Change-Id: Ifc6e614bda647d729e8702023a02613e629ca6a0
/frameworks/ml/nn/common/operations/LSTMTest.cpp
83e24dc4706a5b7089881a55daf05b3924fab3b7 10-Sep-2017 David Gross <dgross@google.com> Add compilation APIs.

For now, compilation is implemented as a synchronous no-op.

Bug: 63905942
Test: nn/runtime/tests, nn/common/operations tests

Change-Id: I1cb96a7e800671d0c70c9cc1b7eab6f8244232cb
/frameworks/ml/nn/common/operations/LSTMTest.cpp
0831219b2763e7906d0f42bd15351a8e05c6f0ab 01-Sep-2017 Yang Ni <yangni@google.com> Move operation files into subdirectory

Bug: 63905942

The convention seems to have all CPU implmentation of OPs in the
subdirectory nn/common/operations.
This CL moves recently added speech/text related OPs to that
directory.

Test: unit tests of all moved ops on marlin

Change-Id: I026aa94c58f6ee4e57e519781ee92d5792106de6
/frameworks/ml/nn/common/operations/LSTMTest.cpp