You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* [MO][TF FE] Document freezing as essential step for pruning SM format
* Update docs/MO_DG/prepare_model/convert_model/Convert_Model_From_TensorFlow.md
---------
Signed-off-by: Kazantsev, Roman <[email protected]>
Co-authored-by: Roman Kazantsev <[email protected]>
Copy file name to clipboardExpand all lines: src/frontends/tensorflow/README.md
+14-10Lines changed: 14 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,8 @@
2
2
3
3
The TensorFlow Frontend (TF FE) is a C++ based OpenVINO Frontend component that is responsible for reading and converting a TensorFlow model to an `ov::Model` object
4
4
that further can be serialized into the Intermediate Representation (IR) format.
5
-
This is an internal API for OpenVINO that is used to implement user facing API such as Model Optimizer, `read_model` function, and OpenVINO Integration with TensorFlow.
5
+
This is an internal API for OpenVINO that is used to implement user-facing API such as MO tool, MO Python API, and OpenVINO Runtime `read_model` function
6
+
for reading TensorFlow models of the original format in run-time. Also, OpenVINO Model Server uses the frontend for serving models.
6
7
Regular users should not use the frontend directly.
Currently, it is only used by [OpenVINO Integration with TensorFlow](https://github.com/openvinotoolkit/openvino_tensorflow).
33
-
Model Optimizer for now relies on the legacy [TensorFlow Frontend](https://docs.openvino.ai/latest/openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow.html) developed in Python.
33
+
The MO tool and MO Python API now use the TensorFlow Frontend as the default path for conversion to IR.
34
+
Known limitations of TF FE are described [here](https://docs.openvino.ai/latest/openvino_docs_MO_DG_TensorFlow_Frontend.html).
34
35
35
36
## Key contacts
36
37
@@ -45,7 +46,7 @@ The structure of OpenVINO TensorFlow Frontend sources includes the following dir
45
46
*[src](./src/) folder contains the sources of the component.
46
47
*[tests](./tests) cover internal transformations.
47
48
48
-
Additionally, there is a shared [tensorflow common](../tensorflow_common) directory with same structure and purposes.
49
+
Additionally, there is a shared [TensorFlow Common](../tensorflow_common) directory with same structure and purposes.
49
50
Its content depend only on common FrontEnd APIs thus is free to use in other FrontEnds.
50
51
51
52
## Architecture
@@ -56,8 +57,8 @@ The whole workflow can be split into two steps: model loading and conversion.
56
57
During loading, the `FrontEnd::load()` method creates `InputModel` that encapsulates the `GraphIterator` object.
57
58
`GraphIterator` is a reader that iterates through the graph nodes in the topological order.
58
59
`GraphIterator::get_decoder()` provides a decoder for the current graph node to read its attributes.
59
-
Each TensorFlow model format has its implementation of `GraphIterator`. Currently, the frontend supports only binary frozen format `.pb`,
60
-
and `GraphIteratorProto` is used for reading and parsing this format. The architecture of the loading step is shown in the picture below:
60
+
Each TensorFlow model format has its implementation of `GraphIterator`. Currently, the frontend supports SavedModel, MetaGraph (`.meta`), and frozen protobuf (`.pb` and `.pbtxt`) formats.
61
+
The base class `GraphIteratorProto` is used for reading and parsing these formats. The architecture of the loading step is shown in the picture below:
61
62
62
63
```mermaid
63
64
classDiagram
@@ -70,6 +71,9 @@ classDiagram
70
71
Place --o "1..*" InputModel
71
72
DecoderBase "1" --o "1" Place
72
73
GraphIteratorProto ..|> GraphIterator
74
+
GraphIteratorProtoTxt ..|> GraphIterator
75
+
GraphIteratorMeta ..|> GraphIterator
76
+
GraphIteratorSavedModel ..|> GraphIterator
73
77
```
74
78
75
79
After the loading step, `InputModel` includes a container of topologically sorted operation `Place` objects.
0 commit comments