Move TensorFlow Lite Python into tensorflow.lite
Add tensorflow.contrib.lite into traversal of api generator. + Needed to change API generator to take list of deps and packages. + Exempt tensorflow.conrib.lite from METADATA dependency check (since we are moving) PiperOrigin-RevId: 219483886
This commit is contained in:
parent
7e9d19d39f
commit
4427005495
@ -55,4 +55,10 @@ except NameError:
|
||||
# does not have 'python', 'core' directories. Then, it will be copied
|
||||
# to tensorflow/ which does have these two directories.
|
||||
pass
|
||||
# Similarly for compiler. Do it separately to make sure we do this even if the
|
||||
# others don't exist.
|
||||
try:
|
||||
del compiler
|
||||
except NameError:
|
||||
pass
|
||||
# pylint: enable=undefined-variable
|
||||
|
@ -63,4 +63,10 @@ except NameError:
|
||||
# does not have 'python', 'core' directories. Then, it will be copied
|
||||
# to tensorflow/ which does have these two directories.
|
||||
pass
|
||||
# Similarly for compiler. Do it separately to make sure we do this even if the
|
||||
# others don't exist.
|
||||
try:
|
||||
del compiler
|
||||
except NameError:
|
||||
pass
|
||||
# pylint: enable=undefined-variable
|
||||
|
@ -31,6 +31,7 @@ from tensorflow.contrib.lite.toco import toco_flags_pb2 as _toco_flags_pb2
|
||||
from tensorflow.python.platform import resource_loader as _resource_loader
|
||||
from tensorflow.python.util import deprecation
|
||||
from tensorflow.python.util.lazy_loader import LazyLoader
|
||||
from tensorflow.python.util.tf_export import tf_export as _tf_export
|
||||
|
||||
# Lazy load since some of the performance benchmark skylark rules
|
||||
# break dependencies.
|
||||
@ -90,6 +91,8 @@ class ConverterError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
# Don't expose these for now.
|
||||
# @_tf_export("lite.toco_convert_protos")
|
||||
def toco_convert_protos(model_flags_str, toco_flags_str, input_data_str):
|
||||
"""Convert `input_data_str` according to model and toco parameters.
|
||||
|
||||
@ -181,6 +184,8 @@ def tensor_name(x):
|
||||
return x.name.split(":")[0]
|
||||
|
||||
|
||||
# Don't expose these for now.
|
||||
# @_tf_export("lite.build_toco_convert_protos")
|
||||
def build_toco_convert_protos(input_tensors,
|
||||
output_tensors,
|
||||
inference_type=lite_constants.FLOAT,
|
||||
@ -393,6 +398,7 @@ def toco_convert_impl(input_data, input_tensors, output_tensors, *args,
|
||||
return data
|
||||
|
||||
|
||||
@_tf_export("lite.toco_convert")
|
||||
@deprecation.deprecated(None, "Use `lite.TFLiteConverter` instead.")
|
||||
def toco_convert(input_data, input_tensors, output_tensors, *args, **kwargs):
|
||||
"""Convert a model using TOCO.
|
||||
|
@ -20,6 +20,7 @@ from __future__ import print_function
|
||||
import sys
|
||||
import numpy as np
|
||||
from tensorflow.python.util.lazy_loader import LazyLoader
|
||||
from tensorflow.python.util.tf_export import tf_export as _tf_export
|
||||
|
||||
# Lazy load since some of the performance benchmark skylark rules
|
||||
# break dependencies. Must use double quotes to match code internal rewrite
|
||||
@ -34,6 +35,7 @@ _interpreter_wrapper = LazyLoader(
|
||||
del LazyLoader
|
||||
|
||||
|
||||
@_tf_export('lite.Interpreter')
|
||||
class Interpreter(object):
|
||||
"""Interpreter inferace for TF-Lite Models."""
|
||||
|
||||
|
@ -65,8 +65,10 @@ from tensorflow.python.lib.io import file_io as _file_io
|
||||
from tensorflow.python.saved_model import signature_constants as _signature_constants
|
||||
from tensorflow.python.saved_model import tag_constants as _tag_constants
|
||||
from tensorflow.python.util import deprecation as _deprecation
|
||||
from tensorflow.python.util.tf_export import tf_export as _tf_export
|
||||
|
||||
|
||||
@_tf_export("lite.TFLiteConverter")
|
||||
class TFLiteConverter(object):
|
||||
"""Convert a TensorFlow model into `output_format` using TOCO.
|
||||
|
||||
@ -499,6 +501,7 @@ class TFLiteConverter(object):
|
||||
tensor.set_shape(shape)
|
||||
|
||||
|
||||
@_tf_export("lite.TocoConverter")
|
||||
class TocoConverter(object):
|
||||
"""Convert a TensorFlow model into `output_format` using TOCO.
|
||||
|
||||
|
@ -21,6 +21,7 @@ from __future__ import print_function
|
||||
from tensorflow.contrib.lite.toco import toco_flags_pb2 as _toco_flags_pb2
|
||||
from tensorflow.contrib.lite.toco import types_pb2 as _types_pb2
|
||||
from tensorflow.python.util.all_util import remove_undocumented
|
||||
from tensorflow.python.util.tf_export import tf_export as _tf_export
|
||||
|
||||
# Enum types from the protobuf promoted to the API
|
||||
FLOAT = _types_pb2.FLOAT
|
||||
@ -33,6 +34,16 @@ TENSORFLOW_GRAPHDEF = _toco_flags_pb2.TENSORFLOW_GRAPHDEF
|
||||
TFLITE = _toco_flags_pb2.TFLITE
|
||||
GRAPHVIZ_DOT = _toco_flags_pb2.GRAPHVIZ_DOT
|
||||
|
||||
_tf_export("lite.constants.FLOAT").export_constant(__name__, "FLOAT")
|
||||
_tf_export("lite.constants.INT32").export_constant(__name__, "INT32")
|
||||
_tf_export("lite.constants.INT64").export_constant(__name__, "INT64")
|
||||
_tf_export("lite.constants.STRING").export_constant(__name__, "STRING")
|
||||
_tf_export("lite.constants.QUANTIZED_UINT8").export_constant(
|
||||
__name__, "QUANTIZED_UINT8")
|
||||
_tf_export("lite.constants.TFLITE").export_constant(__name__, "TFLITE")
|
||||
_tf_export("lite.constants.GRAPHVIZ_DOT").export_constant(
|
||||
__name__, "GRAPHVIZ_DOT")
|
||||
|
||||
# Currently the default mode of operation is to shell to another python process
|
||||
# to protect against crashes. However, it breaks some dependent targets because
|
||||
# it forces us to depend on an external py_binary. The experimental API doesn't
|
||||
|
@ -86,8 +86,10 @@ from tensorflow.python.framework.graph_util_impl import _extract_graph_summary
|
||||
from tensorflow.python.ops import array_ops as _array_ops
|
||||
from tensorflow.python.util import compat as _compat
|
||||
from tensorflow.python.util.all_util import remove_undocumented
|
||||
from tensorflow.python.util.tf_export import tf_export as _tf_export
|
||||
|
||||
|
||||
@_tf_export("lite.OpHint")
|
||||
class OpHint(object):
|
||||
"""A class that helps build tflite function invocations.
|
||||
|
||||
@ -136,14 +138,14 @@ class OpHint(object):
|
||||
# Types of aggregations
|
||||
# stack: stacks all ophints with matching tags. i.e. for a static rnn.
|
||||
# specifically, this is good for an input or output to a static rnn cell.
|
||||
AGGREGATE_STACK = _compat.as_bytes("stack")
|
||||
AGGREGATE_STACK = "stack"
|
||||
# first: only takes the first output (one with lowest sort index)
|
||||
# of matching tags. This is good for the input state to an RNN.
|
||||
AGGREGATE_FIRST = _compat.as_bytes("first")
|
||||
AGGREGATE_FIRST = "first"
|
||||
# aggregation last takes only the last tag (one with highest sort index).
|
||||
# This is good for an output value on the last stack item of a
|
||||
# static rnn.
|
||||
AGGREGATE_LAST = _compat.as_bytes("last")
|
||||
AGGREGATE_LAST = "last"
|
||||
|
||||
class OpHintArgumentTracker(object):
|
||||
"""Conceptually tracks indices of arguments of "OpHint functions".
|
||||
@ -656,7 +658,7 @@ def _find_all_hints_in_graph_def(graphdef):
|
||||
if sort == -1: sort = None
|
||||
aggregation = None
|
||||
if OpHint.FUNCTION_AGGREGATE_ATTR in attr:
|
||||
aggregation = attr[OpHint.FUNCTION_AGGREGATE_ATTR].s
|
||||
aggregation = _compat.as_text(attr[OpHint.FUNCTION_AGGREGATE_ATTR].s)
|
||||
|
||||
# Add the input or output
|
||||
def put_operand(stuff, index, sort, operand, aggregation):
|
||||
@ -936,6 +938,7 @@ def _remove_redundant_stack_unstack(graph_def):
|
||||
return curr
|
||||
|
||||
|
||||
@_tf_export("lite.convert_op_hints_to_stubs")
|
||||
def _convert_op_hints_to_stubs_helper(
|
||||
graph_def, write_callback=lambda sess, graph_def: None):
|
||||
"""Converts a graph_def to a new graph_def where all op hints are stubbed.
|
||||
|
@ -76,6 +76,7 @@ py_library(
|
||||
srcs_version = "PY2AND3",
|
||||
visibility = [
|
||||
"//tensorflow:__pkg__",
|
||||
"//tensorflow/python/estimator:__subpackages__",
|
||||
"//tensorflow/python/tools:__pkg__",
|
||||
"//tensorflow/python/tools/api/generator:__pkg__",
|
||||
"//tensorflow/tools/api/tests:__pkg__",
|
||||
@ -135,6 +136,7 @@ py_library(
|
||||
":util",
|
||||
":weights_broadcast_ops",
|
||||
":while_v2",
|
||||
"//tensorflow/contrib/lite/python:lite",
|
||||
"//tensorflow/core:protos_all_py",
|
||||
"//tensorflow/python/compat",
|
||||
"//tensorflow/python/data",
|
||||
|
@ -17,7 +17,7 @@ def gen_api_init_files(
|
||||
api_version = 2,
|
||||
compat_api_versions = [],
|
||||
compat_init_templates = [],
|
||||
packages = ["tensorflow.python"],
|
||||
packages = ["tensorflow.python", "tensorflow.contrib.lite.python.lite"],
|
||||
package_deps = ["//tensorflow/python:no_contrib"],
|
||||
output_package = "tensorflow",
|
||||
output_dir = ""):
|
||||
|
@ -60,6 +60,8 @@ TENSORFLOW_API_INIT_FILES = [
|
||||
"keras/wrappers/__init__.py",
|
||||
"keras/wrappers/scikit_learn/__init__.py",
|
||||
"linalg/__init__.py",
|
||||
"lite/__init__.py",
|
||||
"lite/constants/__init__.py",
|
||||
"logging/__init__.py",
|
||||
"losses/__init__.py",
|
||||
"manip/__init__.py",
|
||||
|
@ -62,6 +62,8 @@ TENSORFLOW_API_INIT_FILES_V1 = [
|
||||
"layers/__init__.py",
|
||||
"layers/experimental/__init__.py",
|
||||
"linalg/__init__.py",
|
||||
"lite/__init__.py",
|
||||
"lite/constants/__init__.py",
|
||||
"logging/__init__.py",
|
||||
"losses/__init__.py",
|
||||
"manip/__init__.py",
|
||||
|
@ -299,7 +299,8 @@ def get_api_init_text(packages,
|
||||
module.__name__ is None or not in_packages(module.__name__)):
|
||||
continue
|
||||
# Do not generate __init__.py files for contrib modules for now.
|
||||
if '.contrib.' in module.__name__ or module.__name__.endswith('.contrib'):
|
||||
if (('.contrib.' in module.__name__ or module.__name__.endswith('.contrib'))
|
||||
and '.lite' not in module.__name__):
|
||||
continue
|
||||
|
||||
for module_contents_name in dir(module):
|
||||
|
@ -23,6 +23,7 @@ import sys
|
||||
# available in sys.modules
|
||||
# pylint: disable=unused-import
|
||||
from tensorflow import python as _tf_for_api_traversal
|
||||
from tensorflow.contrib.lite.python import lite as _tflite_for_api_traversal
|
||||
# pylint: enable=unused-import
|
||||
from tensorflow.python.platform import test
|
||||
from tensorflow.python.util import tf_decorator
|
||||
|
@ -0,0 +1,49 @@
|
||||
path: "tensorflow.lite.Interpreter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.interpreter.Interpreter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'model_path\', \'model_content\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "allocate_tensors"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_input_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_output_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_tensor_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "invoke"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "reset_all_variables"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "resize_tensor_input"
|
||||
argspec: "args=[\'self\', \'input_index\', \'tensor_size\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "set_tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\', \'value\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
path: "tensorflow.lite.OpHint.OpHintArgumentTracker"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.op_hint.OpHintArgumentTracker\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'function_name\', \'unique_function_id\', \'node_name_prefix\', \'attr_name\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add"
|
||||
argspec: "args=[\'self\', \'arg\', \'tag\', \'name\', \'aggregate\', \'index_override\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
path: "tensorflow.lite.OpHint"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.op_hint.OpHint\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member {
|
||||
name: "AGGREGATE_FIRST"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "AGGREGATE_LAST"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "AGGREGATE_STACK"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_AGGREGATE_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_INPUT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_NAME_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_OUTPUT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_SORT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_UUID_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "OpHintArgumentTracker"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLITE_INPUT_INDICES"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'function_name\'], varargs=None, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_input"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_inputs"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_output"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_outputs"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
path: "tensorflow.lite.TFLiteConverter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.lite.TFLiteConverter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'graph_def\', \'input_tensors\', \'output_tensors\', \'input_arrays_with_shape\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "convert"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "from_frozen_graph"
|
||||
argspec: "args=[\'cls\', \'graph_def_file\', \'input_arrays\', \'output_arrays\', \'input_shapes\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_keras_model_file"
|
||||
argspec: "args=[\'cls\', \'model_file\', \'input_arrays\', \'input_shapes\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_saved_model"
|
||||
argspec: "args=[\'cls\', \'saved_model_dir\', \'input_arrays\', \'input_shapes\', \'output_arrays\', \'tag_set\', \'signature_key\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_session"
|
||||
argspec: "args=[\'cls\', \'sess\', \'input_tensors\', \'output_tensors\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_input_arrays"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
path: "tensorflow.lite.TocoConverter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.lite.TocoConverter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
}
|
||||
member_method {
|
||||
name: "from_frozen_graph"
|
||||
argspec: "args=[\'cls\', \'graph_def_file\', \'input_arrays\', \'output_arrays\', \'input_shapes\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_keras_model_file"
|
||||
argspec: "args=[\'cls\', \'model_file\', \'input_arrays\', \'input_shapes\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_saved_model"
|
||||
argspec: "args=[\'cls\', \'saved_model_dir\', \'input_arrays\', \'input_shapes\', \'output_arrays\', \'tag_set\', \'signature_key\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_session"
|
||||
argspec: "args=[\'cls\', \'sess\', \'input_tensors\', \'output_tensors\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
path: "tensorflow.lite.constants"
|
||||
tf_module {
|
||||
member {
|
||||
name: "FLOAT"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "GRAPHVIZ_DOT"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "INT32"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "INT64"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "QUANTIZED_UINT8"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "STRING"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLITE"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
}
|
27
tensorflow/tools/api/golden/v1/tensorflow.lite.pbtxt
Normal file
27
tensorflow/tools/api/golden/v1/tensorflow.lite.pbtxt
Normal file
@ -0,0 +1,27 @@
|
||||
path: "tensorflow.lite"
|
||||
tf_module {
|
||||
member {
|
||||
name: "Interpreter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "OpHint"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLiteConverter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TocoConverter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "constants"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member_method {
|
||||
name: "toco_convert"
|
||||
argspec: "args=[\'input_data\', \'input_tensors\', \'output_tensors\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
}
|
@ -420,6 +420,10 @@ tf_module {
|
||||
name: "linalg"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member {
|
||||
name: "lite"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member {
|
||||
name: "logging"
|
||||
mtype: "<type \'module\'>"
|
||||
|
@ -0,0 +1,49 @@
|
||||
path: "tensorflow.lite.Interpreter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.interpreter.Interpreter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'model_path\', \'model_content\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "allocate_tensors"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_input_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_output_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_tensor_details"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "invoke"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "reset_all_variables"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "resize_tensor_input"
|
||||
argspec: "args=[\'self\', \'input_index\', \'tensor_size\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "set_tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\', \'value\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "tensor"
|
||||
argspec: "args=[\'self\', \'tensor_index\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
path: "tensorflow.lite.OpHint.OpHintArgumentTracker"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.op_hint.OpHintArgumentTracker\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'function_name\', \'unique_function_id\', \'node_name_prefix\', \'attr_name\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add"
|
||||
argspec: "args=[\'self\', \'arg\', \'tag\', \'name\', \'aggregate\', \'index_override\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
path: "tensorflow.lite.OpHint"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.op_hint.OpHint\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member {
|
||||
name: "AGGREGATE_FIRST"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "AGGREGATE_LAST"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "AGGREGATE_STACK"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_AGGREGATE_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_INPUT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_NAME_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_OUTPUT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_SORT_INDEX_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "FUNCTION_UUID_ATTR"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member {
|
||||
name: "OpHintArgumentTracker"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLITE_INPUT_INDICES"
|
||||
mtype: "<type \'str\'>"
|
||||
}
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'function_name\'], varargs=None, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_input"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_inputs"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_output"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "add_outputs"
|
||||
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
path: "tensorflow.lite.TFLiteConverter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.lite.TFLiteConverter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
argspec: "args=[\'self\', \'graph_def\', \'input_tensors\', \'output_tensors\', \'input_arrays_with_shape\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "convert"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "from_frozen_graph"
|
||||
argspec: "args=[\'cls\', \'graph_def_file\', \'input_arrays\', \'output_arrays\', \'input_shapes\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_keras_model_file"
|
||||
argspec: "args=[\'cls\', \'model_file\', \'input_arrays\', \'input_shapes\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_saved_model"
|
||||
argspec: "args=[\'cls\', \'saved_model_dir\', \'input_arrays\', \'input_shapes\', \'output_arrays\', \'tag_set\', \'signature_key\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_session"
|
||||
argspec: "args=[\'cls\', \'sess\', \'input_tensors\', \'output_tensors\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
member_method {
|
||||
name: "get_input_arrays"
|
||||
argspec: "args=[\'self\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
path: "tensorflow.lite.TocoConverter"
|
||||
tf_class {
|
||||
is_instance: "<class \'tensorflow.contrib.lite.python.lite.TocoConverter\'>"
|
||||
is_instance: "<type \'object\'>"
|
||||
member_method {
|
||||
name: "__init__"
|
||||
}
|
||||
member_method {
|
||||
name: "from_frozen_graph"
|
||||
argspec: "args=[\'cls\', \'graph_def_file\', \'input_arrays\', \'output_arrays\', \'input_shapes\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_keras_model_file"
|
||||
argspec: "args=[\'cls\', \'model_file\', \'input_arrays\', \'input_shapes\', \'output_arrays\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_saved_model"
|
||||
argspec: "args=[\'cls\', \'saved_model_dir\', \'input_arrays\', \'input_shapes\', \'output_arrays\', \'tag_set\', \'signature_key\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\', \'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "from_session"
|
||||
argspec: "args=[\'cls\', \'sess\', \'input_tensors\', \'output_tensors\'], varargs=None, keywords=None, defaults=None"
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
path: "tensorflow.lite.constants"
|
||||
tf_module {
|
||||
member {
|
||||
name: "FLOAT"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "GRAPHVIZ_DOT"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "INT32"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "INT64"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "QUANTIZED_UINT8"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "STRING"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLITE"
|
||||
mtype: "<type \'int\'>"
|
||||
}
|
||||
}
|
27
tensorflow/tools/api/golden/v2/tensorflow.lite.pbtxt
Normal file
27
tensorflow/tools/api/golden/v2/tensorflow.lite.pbtxt
Normal file
@ -0,0 +1,27 @@
|
||||
path: "tensorflow.lite"
|
||||
tf_module {
|
||||
member {
|
||||
name: "Interpreter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "OpHint"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TFLiteConverter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "TocoConverter"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member {
|
||||
name: "constants"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member_method {
|
||||
name: "toco_convert"
|
||||
argspec: "args=[\'input_data\', \'input_tensors\', \'output_tensors\'], varargs=args, keywords=kwargs, defaults=None"
|
||||
}
|
||||
}
|
@ -312,6 +312,10 @@ tf_module {
|
||||
name: "linalg"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member {
|
||||
name: "lite"
|
||||
mtype: "<type \'module\'>"
|
||||
}
|
||||
member {
|
||||
name: "logging"
|
||||
mtype: "<type \'module\'>"
|
||||
|
@ -51,6 +51,10 @@ if sys.version_info.major == 3:
|
||||
_NORMALIZE_TYPE["<class 'abc.ABCMeta'>"] = "<type 'type'>"
|
||||
_NORMALIZE_ISINSTANCE = {
|
||||
"<class "
|
||||
"'tensorflow.contrib.lite.python.op_hint.OpHint.OpHintArgumentTracker'>": # pylint: disable=line-too-long
|
||||
"<class "
|
||||
"'tensorflow.contrib.lite.python.op_hint.OpHintArgumentTracker'>",
|
||||
"<class "
|
||||
"'tensorflow.python.training.monitored_session._MonitoredSession.StepContext'>": # pylint: disable=line-too-long
|
||||
"<class "
|
||||
"'tensorflow.python.training.monitored_session.StepContext'>",
|
||||
|
Loading…
Reference in New Issue
Block a user