The PythonOpsResolver and the utility TflmOpResolver are intended to support all built-in ops allow for models to be tested without code changes. This PR syncs those op resolvers with all available ops from the MicroMutableOpResolver, notably adding BatchMatMul and the Signal ops.
Additionaly, this PR sorts the list alphabetically for readability and adds an alias for the utility TflmOpResolver since it is used in both the benchmarking tool and the layer by layer debugging tool.
BUG=cleanup
`port c++ PCAN op to open source in tflm_signal`
-port PCAN op and corresponding to new open source location for C++
BUG=[b/294387385](https://b.corp.google.com/issues/294387385)
Functionality to use the rest of the Signal Library OPs directly from python.
Test with `bazel run python/tflite_micro/signal:stacker_op_test` and `bazel run python/tflite_micro/signal:filter_bank_ops_test`
BUG=[287346710](http://b/287346710)
This PR adds additional FFT op functionality in the Signal library, namely adding the FFT Auto Scale operation.
Testing added in the original `fft_test.cc` and `fft_ops_test.py`.
BUG=[287346710](http://b/287346710)
`port c++ energy op to open source in tflm_signal`
-port energy op and corresponding to new open source location for C++
BUG=[b/289422411](https://b.corp.google.com/issues/289422411)
`port c++ stacker op to open source in tflm_signal`
-port stacker op and corresponding to new open source location for C++
BUG=[b/289298641](https://b.corp.google.com/issues/289298641)
`port c++ delay op to open source in tflm_signal`
-port delay op and corresponding to new open source location for C++
BUG=[b/289296081](https://b.corp.google.com/issues/289296081)
`port c++ Overlapp_Add op to open source in tflm_signal`
-port Overlapp_Add op and corresponding to new open source location for C++
BUG=[b/289291202](https://b.corp.google.com/issues/289291202)
`port c++ framer op to open source in tflm_signal`
-port framer op and corresponding to new open source location for C++
BUG=[b/288965505](https://b.corp.google.com/288965505)
Second OP for the TFLM Signal library, Real-Valued Fast Fourier Transform.
The RFFT OP provides three resolutions: `FLOAT, INT16, INT32`
Similar usage as to previous Window OP:
* `op_resolver.AddRfft()` (which will add all resolutions, and determine the type at runtime)
* `op_resolver.AddRfftFloat()`, `op_resolver.AddRfftInt16()`, `op_resolver.AddRfftInt32()` for a specific resolution type.
* or via python as can be seen in `fft_ops_test.py`
3 testing options are provided:
* Micro(C++): bazel run signal/micro/kernels:fft_test
* Tensorflow/Micro(Python): bazel run python/tflite_micro/signal:fft_ops_test
* Makefile(C++): make -f tensorflow/lite/micro/tools/make/Makefile test_kernel_fft_test
BUG=[287346710](http://b/287346710)
To package the module `runtime` as `tflite_micro.runtime`, put `runtime` under
a directory representing the Python namespace package `tflite_micro`. For
organization's sake, move it all to the top-level directory `python/`. Adjust
tests and docs to match.
Some code outside of the Python extension module has come to depend on
`python/tflite_micro:python_ops_resolver` as a replacement for
`all_ops_resolver` (e.g.:`t/l/m/integration_tests/seanet/add/integration_tests.cc`).
`python_ops_resolver` is intended to be a private implementation detail of the
Python extension module. For now, grandfather in the dependent code by updating
its references to the resolver's location; however, soon the dependent code
should be migrated away to a different resolver. (#2033,
https://issuetracker.google.com/286508251)
BUG=part of #1484