820215d28bed6c90f696cde0f282445d16da432e |
|
05-Oct-2017 |
Miao Wang <miaowang@google.com> |
Allow fine grain verbose logging control through system property. - Existing DEBUG and INFO change to the new mechanism, existing ERROR and WARNING unchanged. - By default, all verbose logging are disabled. - setprop debug.nn.vlog 1 enables all verbose logging. - setprop debug.nn.vlog "tag1 tag2 ..." only enable the selected tags. - Available tags: all: same as 1. model: enable logging with tag MODEL. compilation: enable logging with tag COMPILATION. execution: enable logging with tag EXECUTION. cpuexe: enable logging with tag CPUEXE. manager: enable logging with tag MANAGER. driver: enable logging with tag DRIVER. Bug: 63905942 Test: mm Test: NeuralNetworksTests pass Test: manually set property to allow individual module to logging verbosely Test: tested with debug.nn.partition default -> 0 -> 1 to make sure getProp still works fine Change-Id: Iaa0ffa62176dabcdc35058748597df720fd6e47e
/frameworks/ml/nn/runtime/test/TestTrivialModel.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/runtime/test/TestTrivialModel.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/runtime/test/TestTrivialModel.cpp
|
7612f29b31f97f3b15769264131566b36dea9a25 |
|
12-Sep-2017 |
Jean-Luc Brouillet <jeanluc@google.com> |
Remove the initialization and shutdown APIs. Initialize the list of drivers as needed rather than requiring an API call. This initialization will be triggered when compiling the first model. Bug: 63905942 Test: Compiled and ran the unit tests. Change-Id: I1893a9f9d96d9d241916de3a7dd3cb7a54e33b06
/frameworks/ml/nn/runtime/test/TestTrivialModel.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/runtime/test/TestTrivialModel.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/runtime/test/TestTrivialModel.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/runtime/test/TestTrivialModel.cpp
|
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/runtime/test/TestTrivialModel.cpp
|
f23352521cb0834f33f3802b7b2626db64d0eea3 |
|
22-Aug-2017 |
Miao Wang <miaowang@google.com> |
Making Add and Mul able to handle broadcast Add/Mul. Bug: 63905942 Test: mm Test: BroadcastAddTwo, BroadcastMulTwo Change-Id: I41460be25ab812069fff31abfbd1f6ab66b7aba2
/frameworks/ml/nn/runtime/test/TestTrivialModel.cpp
|
8b99bb1d98a42b67ba1c00e12c7abb3708cf7c05 |
|
21-Aug-2017 |
Jean-Luc Brouillet <jeanluc@google.com> |
Add full support for Memory pools. Weights can now be passed via memory pools. Test: Compiled and ran the unit test. Bug: 63905942 Change-Id: I997a10f6102dcae7c6876c96a4f6f913eaf54c74
/frameworks/ml/nn/runtime/test/TestTrivialModel.cpp
|
5c4b465f2bae6da76025ee92dbd95b82adc9893c |
|
26-Aug-2017 |
David Gross <dgross@google.com> |
Fix test that broke when number of ADD inputs increased from 2 to 3. Test: adb shell NeuralNetworksTest_static Bug: 63905942 Change-Id: I51ae1cbc8850a66035185de4e8a40f95b03b1d38
/frameworks/ml/nn/runtime/test/TestTrivialModel.cpp
|
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/runtime/test/TestTrivialModel.cpp
|