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:
Andrew Selle 2018-10-31 09:14:27 -07:00 committed by TensorFlower Gardener
parent 7e9d19d39f
commit 4427005495
30 changed files with 555 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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."""

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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",

View File

@ -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 = ""):

View File

@ -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",

View File

@ -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",

View File

@ -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):

View File

@ -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

View File

@ -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"
}
}

View File

@ -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\'], "
}
}

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -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\'>"
}
}

View 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"
}
}

View File

@ -420,6 +420,10 @@ tf_module {
name: "linalg"
mtype: "<type \'module\'>"
}
member {
name: "lite"
mtype: "<type \'module\'>"
}
member {
name: "logging"
mtype: "<type \'module\'>"

View File

@ -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"
}
}

View File

@ -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\'], "
}
}

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -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\'>"
}
}

View 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"
}
}

View File

@ -312,6 +312,10 @@ tf_module {
name: "linalg"
mtype: "<type \'module\'>"
}
member {
name: "lite"
mtype: "<type \'module\'>"
}
member {
name: "logging"
mtype: "<type \'module\'>"

View File

@ -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'>",