Skip to content

Commit e47ed5d

Browse files
fergushendersoncopybara-github
authored andcommitted
Document that the TF Lite Android (Java) API is part of the API surface for semantic versioning.
Also document that the TF Lite C++, Objective-C, and Swift APIs are NOT part of the API surface for semantic versioning. [For background info, the TF Lite Android (Java) API has already been launched to "General Availability" for the public <https://blog.tensorflow.org/2022/09/announcing-tensorflow-lite-in-google-play-services-general-availability.html> as the "Google Play services API for TensorFlow Lite", and is the default API that we recommend for developers in the TF Lite QuickStart documentation.] PiperOrigin-RevId: 565052161
1 parent 5a7a816 commit e47ed5d

File tree

1 file changed

+92
-41
lines changed

1 file changed

+92
-41
lines changed

site/en/guide/versions.md

Lines changed: 92 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -34,47 +34,92 @@ release 0.12.1. However, release 1.1.1 was backwards *compatible* with release
3434
Only the public APIs of TensorFlow are backwards compatible across minor and
3535
patch versions. The public APIs consist of
3636

37-
* All the documented [Python](https://www.tensorflow.org/api_docs/python) functions and classes in the
38-
`tensorflow` module and its submodules, except for
39-
40-
* Private symbols: any function, class, etc., whose name start with `_`
41-
* Experimental and `tf.contrib` symbols, see [below](#not_covered) for
42-
details.
43-
44-
Note that the code in the `examples/` and `tools/` directories is not
45-
reachable through the `tensorflow` Python module and is thus not covered by
46-
the compatibility guarantee.
47-
48-
If a symbol is available through the `tensorflow` Python module or its
49-
submodules, but is not documented, then it is **not** considered part of the
50-
public API.
51-
52-
* The compatibility API (in Python, the `tf.compat` module). At major versions,
53-
we may release utilities and additional endpoints to help users with the
54-
transition to a new major version. These API symbols are deprecated and not
55-
supported (i.e., we will not add any features, and we will not fix bugs
56-
other than to fix vulnerabilities), but they do fall under our compatibility
57-
guarantees.
58-
59-
* The TensorFlow C API:
60-
* [tensorflow/c/c_api.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/c_api.h))
61-
62-
* The TensorFlow Lite C API:
63-
* [tensorflow/lite/c/c_api.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/c/c_api.h)
64-
* [tensorflow/lite/c/c_api_types.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/c/c_api_types.h).
65-
66-
* The following protocol buffer files:
67-
68-
* [`attr_value`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/attr_value.proto)
69-
* [`config`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/protobuf/config.proto)
70-
* [`event`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/util/event.proto)
71-
* [`graph`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/graph.proto)
72-
* [`op_def`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/op_def.proto)
73-
* [`reader_base`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/reader_base.proto)
74-
* [`summary`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/summary.proto)
75-
* [`tensor`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto)
76-
* [`tensor_shape`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor_shape.proto)
77-
* [`types`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/types.proto)
37+
* All the documented [Python](https://www.tensorflow.org/api_docs/python)
38+
functions and classes in the `tensorflow` module and its submodules, except
39+
for
40+
41+
* Private symbols: any function, class, etc., whose name start with `_`
42+
* Experimental and `tf.contrib` symbols, see [below](#not_covered) for
43+
details.
44+
45+
Note that the code in the `examples/` and `tools/` directories is not
46+
reachable through the `tensorflow` Python module and is thus not covered by
47+
the compatibility guarantee.
48+
49+
If a symbol is available through the `tensorflow` Python module or its
50+
submodules, but is not documented, then it is **not** considered part of the
51+
public API.
52+
53+
* The compatibility API (in Python, the `tf.compat` module). At major
54+
versions, we may release utilities and additional endpoints to help users
55+
with the transition to a new major version. These API symbols are deprecated
56+
and not supported (i.e., we will not add any features, and we will not fix
57+
bugs other than to fix vulnerabilities), but they do fall under our
58+
compatibility guarantees.
59+
60+
* The TensorFlow C API:
61+
62+
* [tensorflow/c/c_api.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/c_api.h))
63+
64+
* The TensorFlow Lite C API:
65+
66+
* [tensorflow/lite/c/c_api.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/c/c_api.h)
67+
* [tensorflow/lite/c/c_api_types.h](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/c/c_api_types.h).
68+
69+
* The TensorFlow Lite Android (Java/Kotlin) API:
70+
71+
* In `org.tensorflow.lite`:
72+
* [org.tensorflow.lite.TensorFlowLite](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/TensorFlowLite)
73+
* [org.tensorflow.lite.InterpreterApi](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/InterpreterApi)
74+
* [org.tensorflow.lite.Delegate](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/Delegate)
75+
* [org.tensorflow.lite.DelegateFactory](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/DelegateFactory)
76+
* [org.tensorflow.lite.Tensor](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/Tensor)
77+
* [org.tensorflow.lite.DataType](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/DataType)
78+
* [org.tensorflow.lite.RuntimeFlavor](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/RuntimeFlavor)
79+
* In `org.tensorflow.lite.gpu`:
80+
* [org.tensorflow.lite.gpu.GpuDelegate](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/gpu/GpuDelegate)
81+
* [org.tensorflow.lite.gpu.GpuDelegateFactory](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/gpu/GpuDelegateFactory)
82+
83+
* The TensorFlow Lite Objective-C APIs:
84+
85+
* [tensorflow/lite/objc/apis/](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/objc/apis/)
86+
* TFLCoreMLDelegate.h
87+
* TFLDelegate.h
88+
* TFLInterpreter.h
89+
* TFLInterpreterOptions.h
90+
* TFLMetalDelegate.h
91+
* TFLQuantizationParameters.h
92+
* TFLSignatureRunner.h
93+
* TFLTensorFlowLite.h
94+
* TFLTensor.h
95+
96+
* The TensorFlow Lite Swift APIs:
97+
98+
* [tensorflow/lite/swift/Sources/](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/swift/Sources/).
99+
* CoreMLDelegate.swift
100+
* Delegate.swift
101+
* InterpreterError.swift
102+
* Interpreter.swift
103+
* MetalDelegate.swift
104+
* Model.swift
105+
* QuantizationParameters.swift
106+
* SignatureRunnerError.swift
107+
* SignatureRunner.swift
108+
* TensorFlowLite.swift
109+
* Tensor.swift
110+
111+
* The following protocol buffer files:
112+
113+
* [`attr_value`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/attr_value.proto)
114+
* [`config`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/protobuf/config.proto)
115+
* [`event`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/util/event.proto)
116+
* [`graph`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/graph.proto)
117+
* [`op_def`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/op_def.proto)
118+
* [`reader_base`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/reader_base.proto)
119+
* [`summary`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/summary.proto)
120+
* [`tensor`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto)
121+
* [`tensor_shape`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor_shape.proto)
122+
* [`types`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/types.proto)
78123

79124
<a name="not_covered"></a>
80125
## What is *not* covered
@@ -102,6 +147,12 @@ These include:
102147
- [Go](https://github.com/tensorflow/build/blob/master/golang_install_guide/README.md)
103148
- [JavaScript](https://www.tensorflow.org/js)
104149

150+
and TensorFlow **Lite** APIs in languages other than Java/Kotlin, C,
151+
Objective-C, and Swift, in particular
152+
153+
- **C++** (exposed through header files in
154+
[`tensorflow/lite/`]\(https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/\))
155+
105156
* **Details of composite ops:** Many public functions in Python expand to
106157
several primitive ops in the graph, and these details will be part of any
107158
graphs saved to disk as `GraphDef`s. These details may change for minor

0 commit comments

Comments
 (0)