STT-tensorflow/tensorflow/lite/c
Jaesung Chung 6574fc4e08 Resource & variant type additions to TFLite schema
PiperOrigin-RevId: 354638976
Change-Id: I104c4de542b68e2660887a4e3ec45631a056dd74
2021-01-29 17:12:52 -08:00
..
BUILD Move type declarations needed by C API into separate header file 2020-12-15 11:49:24 -08:00
builtin_op_data_test.cc Missing UnPack Op added 2019-12-20 09:52:17 +05:30
builtin_op_data.h Add Conv3D reference kernel to TFLite 2021-01-13 21:36:14 -08:00
c_api_experimental_test.cc Hint at the problem in the "Didn't find op for builtin opcode ... version ..." error. 2021-01-07 06:19:32 -08:00
c_api_experimental.cc Remove unnecessary '#ifdef __cplusplus' in *.cc files. 2020-12-10 09:53:56 -08:00
c_api_experimental.h Add flag for enabling delegate fallback to the TFLite C API. 2020-12-04 14:35:05 -08:00
c_api_internal.h Add flag for enabling delegate fallback to the TFLite C API. 2020-12-04 14:35:05 -08:00
c_api_test.cc Moved to experimental api 2020-03-17 09:55:26 +02:00
c_api_types.h Resource & variant type additions to TFLite schema 2021-01-29 17:12:52 -08:00
c_api.cc Selective build rule for C 2020-12-14 19:04:03 -08:00
c_api.h Move type declarations needed by C API into separate header file 2020-12-15 11:49:24 -08:00
c_test.c Add a test to verify that the TF Lite C API headers can build, link, 2020-07-20 04:16:10 -07:00
common_test.cc Resource & variant type additions to TFLite schema 2021-01-29 17:12:52 -08:00
common.c Resource & variant type additions to TFLite schema 2021-01-29 17:12:52 -08:00
common.h Move type declarations needed by C API into separate header file 2020-12-15 11:49:24 -08:00
exported_symbols.lds Migrate the TFLite C API out of lite/experimental 2019-11-27 13:46:35 -08:00
README.md Update build commands 2020-02-14 16:14:14 -08:00
version_script.lds Migrate the TFLite C API out of lite/experimental 2019-11-27 13:46:35 -08:00

TensorFlow Lite C API

This directory contains C APIs for TensorFlow Lite. This includes C APIs for common types, like kernels and delegates, as well as an explicit C API for inference.

Header summary

Each public C header contains types and methods for specific uses:

  • common.h - Contains common C enums, types and methods used throughout TensorFlow Lite. This includes everything from error codes, to the kernel and delegate APIs.
  • builtin_op_data.h - Contains op-specific data that is used for builtin kernels. This should only be used when (re)implementing a builtin operator.
  • c_api.h - Contains the TensorFlow Lite C API for inference. The functionality here is largely equivalent (though a strict subset of) the functionality provided by the C++ Interpreter API.
  • c_api_experimental.h - Contains experimental C API methods for inference. These methods are useful and usable, but aren't yet part of the stable API.

Using the C API

See the c_api.h header for API usage details.

Building the C API

A native shared library target that contains the C API for inference has been provided. Assuming a working bazel configuration, this can be built as follows:

bazel build -c opt //tensorflow/lite/c:tensorflowlite_c

and for Android (replace android_arm with android_arm64 for 64-bit), assuming you've configured your project for Android builds:

bazel build -c opt --cxxopt=--std=c++11 --config=android_arm \
  //tensorflow/lite/c:tensorflowlite_c

The generated shared library will be available in your bazel-bin/tensorflow/lite/c directory. A target which packages the shared library together with the necessary headers (c_api.h, c_api_experimental.h and common.h) will be available soon, and will also be released as a prebuilt archive (together with existing prebuilt packages for Android/iOS).