mirror of
https://github.com/mozilla/DeepSpeech.git
synced 2025-10-26 11:19:39 +00:00
parent
2607119b18
commit
698eb4bcf4
@ -12,6 +12,10 @@ Typical usage example:
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
local_tf = os.path.join(os.path.dirname(os.path.dirname(os.path.join(os.path.abspath(__file__)))), 'local_tf')
|
||||
sys.path.append(local_tf)
|
||||
|
||||
import threading
|
||||
from grpc.beta import implementations
|
||||
import numpy as np
|
||||
|
||||
72
local_tf/codegen.py
Normal file
72
local_tf/codegen.py
Normal file
@ -0,0 +1,72 @@
|
||||
# depends on grpcio-tools
|
||||
#
|
||||
# This is intended to update the Tensorflow Serving APIs that we extract out of
|
||||
# tensorflow serving repo for easier reuse. It should not be needed to run that
|
||||
# except in case of changes to the .proto files with regards to the tensorflow
|
||||
# serving version you are using.
|
||||
#
|
||||
# Running this will regenerate tensorflow/ and tensorflow_serving/. After doing
|
||||
# so, please commit the changes.
|
||||
|
||||
from grpc.tools import protoc
|
||||
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
tensorflow_root = sys.argv[1]
|
||||
tensorflow_serving_root = sys.argv[2]
|
||||
|
||||
if not os.path.isdir(tensorflow_root) or not os.path.isdir(tensorflow_serving_root):
|
||||
print "Execution requires git clones of tensorflow and tensorflow serving."
|
||||
print "No tensorflow_root (%s) or no tensorflow_serving_root (%s)" % (tensorflow_root, tensorflow_serving_root)
|
||||
sys.exit(1)
|
||||
|
||||
tmpdir = tempfile.mkdtemp(suffix='tf_proto', prefix='tmp')
|
||||
thisdir = os.path.abspath('.')
|
||||
distproto = os.path.join(os.path.dirname(protoc.__file__), '_proto')
|
||||
|
||||
tensorflow_serving_apis = os.path.join('tensorflow_serving', 'apis')
|
||||
model_proto = os.path.join(tensorflow_serving_root, tensorflow_serving_apis, 'model.proto')
|
||||
predict_proto = os.path.join(tensorflow_serving_root, tensorflow_serving_apis, 'predict.proto')
|
||||
prediction_service = os.path.join(tensorflow_serving_root, tensorflow_serving_apis, 'prediction_service.proto')
|
||||
|
||||
tensorflow_core_framework = os.path.join('tensorflow', 'core', 'framework')
|
||||
tensor_proto = os.path.join(tensorflow_root, tensorflow_core_framework, 'tensor.proto')
|
||||
resource_handle_proto = os.path.join(tensorflow_root, tensorflow_core_framework, 'resource_handle.proto')
|
||||
tensor_shape_proto = os.path.join(tensorflow_root, tensorflow_core_framework, 'tensor_shape.proto')
|
||||
types_proto = os.path.join(tensorflow_root, tensorflow_core_framework, 'types.proto')
|
||||
|
||||
protoc.main(
|
||||
(
|
||||
'',
|
||||
'-I%s' % (tensorflow_serving_root), '-I%s' % (os.path.join(tensorflow_serving_root, 'tensorflow')), '-I%s' % (distproto),
|
||||
'--python_out=%s' % (tmpdir), '--grpc_python_out=%s' % (tmpdir),
|
||||
model_proto, predict_proto, prediction_service,
|
||||
)
|
||||
)
|
||||
|
||||
protoc.main(
|
||||
(
|
||||
'',
|
||||
'-I%s' % (tensorflow_root), '-I%s' % (distproto),
|
||||
'--python_out=%s' % (tmpdir), '--grpc_python_out=%s' % (tmpdir),
|
||||
tensor_proto, resource_handle_proto, tensor_shape_proto, types_proto,
|
||||
)
|
||||
)
|
||||
|
||||
def myvisit(a, dir, files):
|
||||
if os.path.abspath(dir) == os.path.abspath(tmpdir):
|
||||
return
|
||||
|
||||
initpy = os.path.join(dir, '__init__.py')
|
||||
try:
|
||||
os.utime(initpy, None)
|
||||
except Exception:
|
||||
open(initpy, 'wb').close()
|
||||
|
||||
os.path.walk(tmpdir, myvisit, None)
|
||||
|
||||
for subdir in os.listdir(tmpdir):
|
||||
shutil.move(os.path.join(tmpdir, subdir), thisdir)
|
||||
0
local_tf/tensorflow/__init__.py
Normal file
0
local_tf/tensorflow/__init__.py
Normal file
0
local_tf/tensorflow/core/__init__.py
Normal file
0
local_tf/tensorflow/core/__init__.py
Normal file
0
local_tf/tensorflow/core/framework/__init__.py
Normal file
0
local_tf/tensorflow/core/framework/__init__.py
Normal file
104
local_tf/tensorflow/core/framework/resource_handle_pb2.py
Normal file
104
local_tf/tensorflow/core/framework/resource_handle_pb2.py
Normal file
@ -0,0 +1,104 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow/core/framework/resource_handle.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow/core/framework/resource_handle.proto',
|
||||
package='tensorflow',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n/tensorflow/core/framework/resource_handle.proto\x12\ntensorflow\"m\n\x0eResourceHandle\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tcontainer\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\thash_code\x18\x04 \x01(\x04\x12\x17\n\x0fmaybe_type_name\x18\x05 \x01(\tB4\n\x18org.tensorflow.frameworkB\x13ResourceHandleProtoP\x01\xf8\x01\x01\x62\x06proto3')
|
||||
)
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_RESOURCEHANDLE = _descriptor.Descriptor(
|
||||
name='ResourceHandle',
|
||||
full_name='tensorflow.ResourceHandle',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='device', full_name='tensorflow.ResourceHandle.device', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='container', full_name='tensorflow.ResourceHandle.container', index=1,
|
||||
number=2, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='tensorflow.ResourceHandle.name', index=2,
|
||||
number=3, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='hash_code', full_name='tensorflow.ResourceHandle.hash_code', index=3,
|
||||
number=4, type=4, cpp_type=4, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='maybe_type_name', full_name='tensorflow.ResourceHandle.maybe_type_name', index=4,
|
||||
number=5, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=63,
|
||||
serialized_end=172,
|
||||
)
|
||||
|
||||
DESCRIPTOR.message_types_by_name['ResourceHandle'] = _RESOURCEHANDLE
|
||||
|
||||
ResourceHandle = _reflection.GeneratedProtocolMessageType('ResourceHandle', (_message.Message,), dict(
|
||||
DESCRIPTOR = _RESOURCEHANDLE,
|
||||
__module__ = 'tensorflow.core.framework.resource_handle_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.ResourceHandle)
|
||||
))
|
||||
_sym_db.RegisterMessage(ResourceHandle)
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\030org.tensorflow.frameworkB\023ResourceHandleProtoP\001\370\001\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
190
local_tf/tensorflow/core/framework/tensor_pb2.py
Normal file
190
local_tf/tensorflow/core/framework/tensor_pb2.py
Normal file
@ -0,0 +1,190 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow/core/framework/tensor.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
|
||||
from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
|
||||
from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow/core/framework/tensor.proto',
|
||||
package='tensorflow',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n&tensorflow/core/framework/tensor.proto\x12\ntensorflow\x1a/tensorflow/core/framework/resource_handle.proto\x1a,tensorflow/core/framework/tensor_shape.proto\x1a%tensorflow/core/framework/types.proto\"\x9e\x03\n\x0bTensorProto\x12#\n\x05\x64type\x18\x01 \x01(\x0e\x32\x14.tensorflow.DataType\x12\x32\n\x0ctensor_shape\x18\x02 \x01(\x0b\x32\x1c.tensorflow.TensorShapeProto\x12\x16\n\x0eversion_number\x18\x03 \x01(\x05\x12\x16\n\x0etensor_content\x18\x04 \x01(\x0c\x12\x14\n\x08half_val\x18\r \x03(\x05\x42\x02\x10\x01\x12\x15\n\tfloat_val\x18\x05 \x03(\x02\x42\x02\x10\x01\x12\x16\n\ndouble_val\x18\x06 \x03(\x01\x42\x02\x10\x01\x12\x13\n\x07int_val\x18\x07 \x03(\x05\x42\x02\x10\x01\x12\x12\n\nstring_val\x18\x08 \x03(\x0c\x12\x18\n\x0cscomplex_val\x18\t \x03(\x02\x42\x02\x10\x01\x12\x15\n\tint64_val\x18\n \x03(\x03\x42\x02\x10\x01\x12\x14\n\x08\x62ool_val\x18\x0b \x03(\x08\x42\x02\x10\x01\x12\x18\n\x0c\x64\x63omplex_val\x18\x0c \x03(\x01\x42\x02\x10\x01\x12\x37\n\x13resource_handle_val\x18\x0e \x03(\x0b\x32\x1a.tensorflow.ResourceHandleB-\n\x18org.tensorflow.frameworkB\x0cTensorProtosP\x01\xf8\x01\x01\x62\x06proto3')
|
||||
,
|
||||
dependencies=[tensorflow_dot_core_dot_framework_dot_resource__handle__pb2.DESCRIPTOR,tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2.DESCRIPTOR,tensorflow_dot_core_dot_framework_dot_types__pb2.DESCRIPTOR,])
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_TENSORPROTO = _descriptor.Descriptor(
|
||||
name='TensorProto',
|
||||
full_name='tensorflow.TensorProto',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='dtype', full_name='tensorflow.TensorProto.dtype', index=0,
|
||||
number=1, type=14, cpp_type=8, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='tensor_shape', full_name='tensorflow.TensorProto.tensor_shape', index=1,
|
||||
number=2, type=11, cpp_type=10, label=1,
|
||||
has_default_value=False, default_value=None,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='version_number', full_name='tensorflow.TensorProto.version_number', index=2,
|
||||
number=3, type=5, cpp_type=1, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='tensor_content', full_name='tensorflow.TensorProto.tensor_content', index=3,
|
||||
number=4, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='half_val', full_name='tensorflow.TensorProto.half_val', index=4,
|
||||
number=13, type=5, cpp_type=1, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='float_val', full_name='tensorflow.TensorProto.float_val', index=5,
|
||||
number=5, type=2, cpp_type=6, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='double_val', full_name='tensorflow.TensorProto.double_val', index=6,
|
||||
number=6, type=1, cpp_type=5, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='int_val', full_name='tensorflow.TensorProto.int_val', index=7,
|
||||
number=7, type=5, cpp_type=1, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='string_val', full_name='tensorflow.TensorProto.string_val', index=8,
|
||||
number=8, type=12, cpp_type=9, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='scomplex_val', full_name='tensorflow.TensorProto.scomplex_val', index=9,
|
||||
number=9, type=2, cpp_type=6, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='int64_val', full_name='tensorflow.TensorProto.int64_val', index=10,
|
||||
number=10, type=3, cpp_type=2, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='bool_val', full_name='tensorflow.TensorProto.bool_val', index=11,
|
||||
number=11, type=8, cpp_type=7, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='dcomplex_val', full_name='tensorflow.TensorProto.dcomplex_val', index=12,
|
||||
number=12, type=1, cpp_type=5, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='resource_handle_val', full_name='tensorflow.TensorProto.resource_handle_val', index=13,
|
||||
number=14, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=189,
|
||||
serialized_end=603,
|
||||
)
|
||||
|
||||
_TENSORPROTO.fields_by_name['dtype'].enum_type = tensorflow_dot_core_dot_framework_dot_types__pb2._DATATYPE
|
||||
_TENSORPROTO.fields_by_name['tensor_shape'].message_type = tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2._TENSORSHAPEPROTO
|
||||
_TENSORPROTO.fields_by_name['resource_handle_val'].message_type = tensorflow_dot_core_dot_framework_dot_resource__handle__pb2._RESOURCEHANDLE
|
||||
DESCRIPTOR.message_types_by_name['TensorProto'] = _TENSORPROTO
|
||||
|
||||
TensorProto = _reflection.GeneratedProtocolMessageType('TensorProto', (_message.Message,), dict(
|
||||
DESCRIPTOR = _TENSORPROTO,
|
||||
__module__ = 'tensorflow.core.framework.tensor_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.TensorProto)
|
||||
))
|
||||
_sym_db.RegisterMessage(TensorProto)
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\030org.tensorflow.frameworkB\014TensorProtosP\001\370\001\001'))
|
||||
_TENSORPROTO.fields_by_name['half_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['half_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['float_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['float_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['double_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['double_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['int_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['int_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['scomplex_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['scomplex_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['int64_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['int64_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['bool_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['bool_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
_TENSORPROTO.fields_by_name['dcomplex_val'].has_options = True
|
||||
_TENSORPROTO.fields_by_name['dcomplex_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
130
local_tf/tensorflow/core/framework/tensor_shape_pb2.py
Normal file
130
local_tf/tensorflow/core/framework/tensor_shape_pb2.py
Normal file
@ -0,0 +1,130 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow/core/framework/tensor_shape.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow/core/framework/tensor_shape.proto',
|
||||
package='tensorflow',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow\"z\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x12\x14\n\x0cunknown_rank\x18\x03 \x01(\x08\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tB2\n\x18org.tensorflow.frameworkB\x11TensorShapeProtosP\x01\xf8\x01\x01\x62\x06proto3')
|
||||
)
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_TENSORSHAPEPROTO_DIM = _descriptor.Descriptor(
|
||||
name='Dim',
|
||||
full_name='tensorflow.TensorShapeProto.Dim',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='size', full_name='tensorflow.TensorShapeProto.Dim.size', index=0,
|
||||
number=1, type=3, cpp_type=2, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='tensorflow.TensorShapeProto.Dim.name', index=1,
|
||||
number=2, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=149,
|
||||
serialized_end=182,
|
||||
)
|
||||
|
||||
_TENSORSHAPEPROTO = _descriptor.Descriptor(
|
||||
name='TensorShapeProto',
|
||||
full_name='tensorflow.TensorShapeProto',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='dim', full_name='tensorflow.TensorShapeProto.dim', index=0,
|
||||
number=2, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='unknown_rank', full_name='tensorflow.TensorShapeProto.unknown_rank', index=1,
|
||||
number=3, type=8, cpp_type=7, label=1,
|
||||
has_default_value=False, default_value=False,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[_TENSORSHAPEPROTO_DIM, ],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=60,
|
||||
serialized_end=182,
|
||||
)
|
||||
|
||||
_TENSORSHAPEPROTO_DIM.containing_type = _TENSORSHAPEPROTO
|
||||
_TENSORSHAPEPROTO.fields_by_name['dim'].message_type = _TENSORSHAPEPROTO_DIM
|
||||
DESCRIPTOR.message_types_by_name['TensorShapeProto'] = _TENSORSHAPEPROTO
|
||||
|
||||
TensorShapeProto = _reflection.GeneratedProtocolMessageType('TensorShapeProto', (_message.Message,), dict(
|
||||
|
||||
Dim = _reflection.GeneratedProtocolMessageType('Dim', (_message.Message,), dict(
|
||||
DESCRIPTOR = _TENSORSHAPEPROTO_DIM,
|
||||
__module__ = 'tensorflow.core.framework.tensor_shape_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.TensorShapeProto.Dim)
|
||||
))
|
||||
,
|
||||
DESCRIPTOR = _TENSORSHAPEPROTO,
|
||||
__module__ = 'tensorflow.core.framework.tensor_shape_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.TensorShapeProto)
|
||||
))
|
||||
_sym_db.RegisterMessage(TensorShapeProto)
|
||||
_sym_db.RegisterMessage(TensorShapeProto.Dim)
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\030org.tensorflow.frameworkB\021TensorShapeProtosP\001\370\001\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
259
local_tf/tensorflow/core/framework/types_pb2.py
Normal file
259
local_tf/tensorflow/core/framework/types_pb2.py
Normal file
@ -0,0 +1,259 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow/core/framework/types.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf.internal import enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow/core/framework/types.proto',
|
||||
package='tensorflow',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n%tensorflow/core/framework/types.proto\x12\ntensorflow*\xc2\x05\n\x08\x44\x61taType\x12\x0e\n\nDT_INVALID\x10\x00\x12\x0c\n\x08\x44T_FLOAT\x10\x01\x12\r\n\tDT_DOUBLE\x10\x02\x12\x0c\n\x08\x44T_INT32\x10\x03\x12\x0c\n\x08\x44T_UINT8\x10\x04\x12\x0c\n\x08\x44T_INT16\x10\x05\x12\x0b\n\x07\x44T_INT8\x10\x06\x12\r\n\tDT_STRING\x10\x07\x12\x10\n\x0c\x44T_COMPLEX64\x10\x08\x12\x0c\n\x08\x44T_INT64\x10\t\x12\x0b\n\x07\x44T_BOOL\x10\n\x12\x0c\n\x08\x44T_QINT8\x10\x0b\x12\r\n\tDT_QUINT8\x10\x0c\x12\r\n\tDT_QINT32\x10\r\x12\x0f\n\x0b\x44T_BFLOAT16\x10\x0e\x12\r\n\tDT_QINT16\x10\x0f\x12\x0e\n\nDT_QUINT16\x10\x10\x12\r\n\tDT_UINT16\x10\x11\x12\x11\n\rDT_COMPLEX128\x10\x12\x12\x0b\n\x07\x44T_HALF\x10\x13\x12\x0f\n\x0b\x44T_RESOURCE\x10\x14\x12\x10\n\x0c\x44T_FLOAT_REF\x10\x65\x12\x11\n\rDT_DOUBLE_REF\x10\x66\x12\x10\n\x0c\x44T_INT32_REF\x10g\x12\x10\n\x0c\x44T_UINT8_REF\x10h\x12\x10\n\x0c\x44T_INT16_REF\x10i\x12\x0f\n\x0b\x44T_INT8_REF\x10j\x12\x11\n\rDT_STRING_REF\x10k\x12\x14\n\x10\x44T_COMPLEX64_REF\x10l\x12\x10\n\x0c\x44T_INT64_REF\x10m\x12\x0f\n\x0b\x44T_BOOL_REF\x10n\x12\x10\n\x0c\x44T_QINT8_REF\x10o\x12\x11\n\rDT_QUINT8_REF\x10p\x12\x11\n\rDT_QINT32_REF\x10q\x12\x13\n\x0f\x44T_BFLOAT16_REF\x10r\x12\x11\n\rDT_QINT16_REF\x10s\x12\x12\n\x0e\x44T_QUINT16_REF\x10t\x12\x11\n\rDT_UINT16_REF\x10u\x12\x15\n\x11\x44T_COMPLEX128_REF\x10v\x12\x0f\n\x0b\x44T_HALF_REF\x10w\x12\x13\n\x0f\x44T_RESOURCE_REF\x10xB,\n\x18org.tensorflow.frameworkB\x0bTypesProtosP\x01\xf8\x01\x01\x62\x06proto3')
|
||||
)
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
_DATATYPE = _descriptor.EnumDescriptor(
|
||||
name='DataType',
|
||||
full_name='tensorflow.DataType',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
values=[
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INVALID', index=0, number=0,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_FLOAT', index=1, number=1,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_DOUBLE', index=2, number=2,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT32', index=3, number=3,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_UINT8', index=4, number=4,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT16', index=5, number=5,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT8', index=6, number=6,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_STRING', index=7, number=7,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_COMPLEX64', index=8, number=8,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT64', index=9, number=9,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_BOOL', index=10, number=10,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT8', index=11, number=11,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QUINT8', index=12, number=12,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT32', index=13, number=13,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_BFLOAT16', index=14, number=14,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT16', index=15, number=15,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QUINT16', index=16, number=16,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_UINT16', index=17, number=17,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_COMPLEX128', index=18, number=18,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_HALF', index=19, number=19,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_RESOURCE', index=20, number=20,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_FLOAT_REF', index=21, number=101,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_DOUBLE_REF', index=22, number=102,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT32_REF', index=23, number=103,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_UINT8_REF', index=24, number=104,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT16_REF', index=25, number=105,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT8_REF', index=26, number=106,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_STRING_REF', index=27, number=107,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_COMPLEX64_REF', index=28, number=108,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_INT64_REF', index=29, number=109,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_BOOL_REF', index=30, number=110,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT8_REF', index=31, number=111,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QUINT8_REF', index=32, number=112,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT32_REF', index=33, number=113,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_BFLOAT16_REF', index=34, number=114,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QINT16_REF', index=35, number=115,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_QUINT16_REF', index=36, number=116,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_UINT16_REF', index=37, number=117,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_COMPLEX128_REF', index=38, number=118,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_HALF_REF', index=39, number=119,
|
||||
options=None,
|
||||
type=None),
|
||||
_descriptor.EnumValueDescriptor(
|
||||
name='DT_RESOURCE_REF', index=40, number=120,
|
||||
options=None,
|
||||
type=None),
|
||||
],
|
||||
containing_type=None,
|
||||
options=None,
|
||||
serialized_start=54,
|
||||
serialized_end=760,
|
||||
)
|
||||
_sym_db.RegisterEnumDescriptor(_DATATYPE)
|
||||
|
||||
DataType = enum_type_wrapper.EnumTypeWrapper(_DATATYPE)
|
||||
DT_INVALID = 0
|
||||
DT_FLOAT = 1
|
||||
DT_DOUBLE = 2
|
||||
DT_INT32 = 3
|
||||
DT_UINT8 = 4
|
||||
DT_INT16 = 5
|
||||
DT_INT8 = 6
|
||||
DT_STRING = 7
|
||||
DT_COMPLEX64 = 8
|
||||
DT_INT64 = 9
|
||||
DT_BOOL = 10
|
||||
DT_QINT8 = 11
|
||||
DT_QUINT8 = 12
|
||||
DT_QINT32 = 13
|
||||
DT_BFLOAT16 = 14
|
||||
DT_QINT16 = 15
|
||||
DT_QUINT16 = 16
|
||||
DT_UINT16 = 17
|
||||
DT_COMPLEX128 = 18
|
||||
DT_HALF = 19
|
||||
DT_RESOURCE = 20
|
||||
DT_FLOAT_REF = 101
|
||||
DT_DOUBLE_REF = 102
|
||||
DT_INT32_REF = 103
|
||||
DT_UINT8_REF = 104
|
||||
DT_INT16_REF = 105
|
||||
DT_INT8_REF = 106
|
||||
DT_STRING_REF = 107
|
||||
DT_COMPLEX64_REF = 108
|
||||
DT_INT64_REF = 109
|
||||
DT_BOOL_REF = 110
|
||||
DT_QINT8_REF = 111
|
||||
DT_QUINT8_REF = 112
|
||||
DT_QINT32_REF = 113
|
||||
DT_BFLOAT16_REF = 114
|
||||
DT_QINT16_REF = 115
|
||||
DT_QUINT16_REF = 116
|
||||
DT_UINT16_REF = 117
|
||||
DT_COMPLEX128_REF = 118
|
||||
DT_HALF_REF = 119
|
||||
DT_RESOURCE_REF = 120
|
||||
|
||||
|
||||
DESCRIPTOR.enum_types_by_name['DataType'] = _DATATYPE
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\030org.tensorflow.frameworkB\013TypesProtosP\001\370\001\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
0
local_tf/tensorflow_serving/__init__.py
Normal file
0
local_tf/tensorflow_serving/__init__.py
Normal file
0
local_tf/tensorflow_serving/apis/__init__.py
Normal file
0
local_tf/tensorflow_serving/apis/__init__.py
Normal file
93
local_tf/tensorflow_serving/apis/model_pb2.py
Normal file
93
local_tf/tensorflow_serving/apis/model_pb2.py
Normal file
@ -0,0 +1,93 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow_serving/apis/model.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow_serving/apis/model.proto',
|
||||
package='tensorflow.serving',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n#tensorflow_serving/apis/model.proto\x12\x12tensorflow.serving\x1a\x1egoogle/protobuf/wrappers.proto\"_\n\tModelSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x07version\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x16\n\x0esignature_name\x18\x03 \x01(\tB\x03\xf8\x01\x01\x62\x06proto3')
|
||||
,
|
||||
dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,])
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_MODELSPEC = _descriptor.Descriptor(
|
||||
name='ModelSpec',
|
||||
full_name='tensorflow.serving.ModelSpec',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='tensorflow.serving.ModelSpec.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='version', full_name='tensorflow.serving.ModelSpec.version', index=1,
|
||||
number=2, type=11, cpp_type=10, label=1,
|
||||
has_default_value=False, default_value=None,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='signature_name', full_name='tensorflow.serving.ModelSpec.signature_name', index=2,
|
||||
number=3, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=91,
|
||||
serialized_end=186,
|
||||
)
|
||||
|
||||
_MODELSPEC.fields_by_name['version'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT64VALUE
|
||||
DESCRIPTOR.message_types_by_name['ModelSpec'] = _MODELSPEC
|
||||
|
||||
ModelSpec = _reflection.GeneratedProtocolMessageType('ModelSpec', (_message.Message,), dict(
|
||||
DESCRIPTOR = _MODELSPEC,
|
||||
__module__ = 'tensorflow_serving.apis.model_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.serving.ModelSpec)
|
||||
))
|
||||
_sym_db.RegisterMessage(ModelSpec)
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
233
local_tf/tensorflow_serving/apis/predict_pb2.py
Normal file
233
local_tf/tensorflow_serving/apis/predict_pb2.py
Normal file
@ -0,0 +1,233 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow_serving/apis/predict.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
|
||||
from tensorflow_serving.apis import model_pb2 as tensorflow__serving_dot_apis_dot_model__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow_serving/apis/predict.proto',
|
||||
package='tensorflow.serving',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n%tensorflow_serving/apis/predict.proto\x12\x12tensorflow.serving\x1a&tensorflow/core/framework/tensor.proto\x1a#tensorflow_serving/apis/model.proto\"\xe2\x01\n\x0ePredictRequest\x12\x31\n\nmodel_spec\x18\x01 \x01(\x0b\x32\x1d.tensorflow.serving.ModelSpec\x12>\n\x06inputs\x18\x02 \x03(\x0b\x32..tensorflow.serving.PredictRequest.InputsEntry\x12\x15\n\routput_filter\x18\x03 \x03(\t\x1a\x46\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tensorflow.TensorProto:\x02\x38\x01\"\x9d\x01\n\x0fPredictResponse\x12\x41\n\x07outputs\x18\x01 \x03(\x0b\x32\x30.tensorflow.serving.PredictResponse.OutputsEntry\x1aG\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tensorflow.TensorProto:\x02\x38\x01\x42\x03\xf8\x01\x01\x62\x06proto3')
|
||||
,
|
||||
dependencies=[tensorflow_dot_core_dot_framework_dot_tensor__pb2.DESCRIPTOR,tensorflow__serving_dot_apis_dot_model__pb2.DESCRIPTOR,])
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
_PREDICTREQUEST_INPUTSENTRY = _descriptor.Descriptor(
|
||||
name='InputsEntry',
|
||||
full_name='tensorflow.serving.PredictRequest.InputsEntry',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='key', full_name='tensorflow.serving.PredictRequest.InputsEntry.key', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='value', full_name='tensorflow.serving.PredictRequest.InputsEntry.value', index=1,
|
||||
number=2, type=11, cpp_type=10, label=1,
|
||||
has_default_value=False, default_value=None,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=295,
|
||||
serialized_end=365,
|
||||
)
|
||||
|
||||
_PREDICTREQUEST = _descriptor.Descriptor(
|
||||
name='PredictRequest',
|
||||
full_name='tensorflow.serving.PredictRequest',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='model_spec', full_name='tensorflow.serving.PredictRequest.model_spec', index=0,
|
||||
number=1, type=11, cpp_type=10, label=1,
|
||||
has_default_value=False, default_value=None,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='inputs', full_name='tensorflow.serving.PredictRequest.inputs', index=1,
|
||||
number=2, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='output_filter', full_name='tensorflow.serving.PredictRequest.output_filter', index=2,
|
||||
number=3, type=9, cpp_type=9, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[_PREDICTREQUEST_INPUTSENTRY, ],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=139,
|
||||
serialized_end=365,
|
||||
)
|
||||
|
||||
|
||||
_PREDICTRESPONSE_OUTPUTSENTRY = _descriptor.Descriptor(
|
||||
name='OutputsEntry',
|
||||
full_name='tensorflow.serving.PredictResponse.OutputsEntry',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='key', full_name='tensorflow.serving.PredictResponse.OutputsEntry.key', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='value', full_name='tensorflow.serving.PredictResponse.OutputsEntry.value', index=1,
|
||||
number=2, type=11, cpp_type=10, label=1,
|
||||
has_default_value=False, default_value=None,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=454,
|
||||
serialized_end=525,
|
||||
)
|
||||
|
||||
_PREDICTRESPONSE = _descriptor.Descriptor(
|
||||
name='PredictResponse',
|
||||
full_name='tensorflow.serving.PredictResponse',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='outputs', full_name='tensorflow.serving.PredictResponse.outputs', index=0,
|
||||
number=1, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[_PREDICTRESPONSE_OUTPUTSENTRY, ],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto3',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=368,
|
||||
serialized_end=525,
|
||||
)
|
||||
|
||||
_PREDICTREQUEST_INPUTSENTRY.fields_by_name['value'].message_type = tensorflow_dot_core_dot_framework_dot_tensor__pb2._TENSORPROTO
|
||||
_PREDICTREQUEST_INPUTSENTRY.containing_type = _PREDICTREQUEST
|
||||
_PREDICTREQUEST.fields_by_name['model_spec'].message_type = tensorflow__serving_dot_apis_dot_model__pb2._MODELSPEC
|
||||
_PREDICTREQUEST.fields_by_name['inputs'].message_type = _PREDICTREQUEST_INPUTSENTRY
|
||||
_PREDICTRESPONSE_OUTPUTSENTRY.fields_by_name['value'].message_type = tensorflow_dot_core_dot_framework_dot_tensor__pb2._TENSORPROTO
|
||||
_PREDICTRESPONSE_OUTPUTSENTRY.containing_type = _PREDICTRESPONSE
|
||||
_PREDICTRESPONSE.fields_by_name['outputs'].message_type = _PREDICTRESPONSE_OUTPUTSENTRY
|
||||
DESCRIPTOR.message_types_by_name['PredictRequest'] = _PREDICTREQUEST
|
||||
DESCRIPTOR.message_types_by_name['PredictResponse'] = _PREDICTRESPONSE
|
||||
|
||||
PredictRequest = _reflection.GeneratedProtocolMessageType('PredictRequest', (_message.Message,), dict(
|
||||
|
||||
InputsEntry = _reflection.GeneratedProtocolMessageType('InputsEntry', (_message.Message,), dict(
|
||||
DESCRIPTOR = _PREDICTREQUEST_INPUTSENTRY,
|
||||
__module__ = 'tensorflow_serving.apis.predict_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.serving.PredictRequest.InputsEntry)
|
||||
))
|
||||
,
|
||||
DESCRIPTOR = _PREDICTREQUEST,
|
||||
__module__ = 'tensorflow_serving.apis.predict_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.serving.PredictRequest)
|
||||
))
|
||||
_sym_db.RegisterMessage(PredictRequest)
|
||||
_sym_db.RegisterMessage(PredictRequest.InputsEntry)
|
||||
|
||||
PredictResponse = _reflection.GeneratedProtocolMessageType('PredictResponse', (_message.Message,), dict(
|
||||
|
||||
OutputsEntry = _reflection.GeneratedProtocolMessageType('OutputsEntry', (_message.Message,), dict(
|
||||
DESCRIPTOR = _PREDICTRESPONSE_OUTPUTSENTRY,
|
||||
__module__ = 'tensorflow_serving.apis.predict_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.serving.PredictResponse.OutputsEntry)
|
||||
))
|
||||
,
|
||||
DESCRIPTOR = _PREDICTRESPONSE,
|
||||
__module__ = 'tensorflow_serving.apis.predict_pb2'
|
||||
# @@protoc_insertion_point(class_scope:tensorflow.serving.PredictResponse)
|
||||
))
|
||||
_sym_db.RegisterMessage(PredictResponse)
|
||||
_sym_db.RegisterMessage(PredictResponse.OutputsEntry)
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001'))
|
||||
_PREDICTREQUEST_INPUTSENTRY.has_options = True
|
||||
_PREDICTREQUEST_INPUTSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
|
||||
_PREDICTRESPONSE_OUTPUTSENTRY.has_options = True
|
||||
_PREDICTRESPONSE_OUTPUTSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
152
local_tf/tensorflow_serving/apis/prediction_service_pb2.py
Normal file
152
local_tf/tensorflow_serving/apis/prediction_service_pb2.py
Normal file
@ -0,0 +1,152 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: tensorflow_serving/apis/prediction_service.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf import descriptor_pb2
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from tensorflow_serving.apis import predict_pb2 as tensorflow__serving_dot_apis_dot_predict__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='tensorflow_serving/apis/prediction_service.proto',
|
||||
package='tensorflow.serving',
|
||||
syntax='proto3',
|
||||
serialized_pb=_b('\n0tensorflow_serving/apis/prediction_service.proto\x12\x12tensorflow.serving\x1a%tensorflow_serving/apis/predict.proto2g\n\x11PredictionService\x12R\n\x07Predict\x12\".tensorflow.serving.PredictRequest\x1a#.tensorflow.serving.PredictResponseB\x03\xf8\x01\x01\x62\x06proto3')
|
||||
,
|
||||
dependencies=[tensorflow__serving_dot_apis_dot_predict__pb2.DESCRIPTOR,])
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR.has_options = True
|
||||
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001'))
|
||||
import grpc
|
||||
from grpc.beta import implementations as beta_implementations
|
||||
from grpc.beta import interfaces as beta_interfaces
|
||||
from grpc.framework.common import cardinality
|
||||
from grpc.framework.interfaces.face import utilities as face_utilities
|
||||
|
||||
|
||||
class PredictionServiceStub(object):
|
||||
"""PredictionService provides access to machine-learned models loaded by
|
||||
model_servers.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Predict = channel.unary_unary(
|
||||
'/tensorflow.serving.PredictionService/Predict',
|
||||
request_serializer=tensorflow__serving_dot_apis_dot_predict__pb2.PredictRequest.SerializeToString,
|
||||
response_deserializer=tensorflow__serving_dot_apis_dot_predict__pb2.PredictResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class PredictionServiceServicer(object):
|
||||
"""PredictionService provides access to machine-learned models loaded by
|
||||
model_servers.
|
||||
"""
|
||||
|
||||
def Predict(self, request, context):
|
||||
"""Predict -- provides access to loaded TensorFlow model.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_PredictionServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Predict': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Predict,
|
||||
request_deserializer=tensorflow__serving_dot_apis_dot_predict__pb2.PredictRequest.FromString,
|
||||
response_serializer=tensorflow__serving_dot_apis_dot_predict__pb2.PredictResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'tensorflow.serving.PredictionService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
class BetaPredictionServiceServicer(object):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This class was generated
|
||||
only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
|
||||
"""PredictionService provides access to machine-learned models loaded by
|
||||
model_servers.
|
||||
"""
|
||||
def Predict(self, request, context):
|
||||
"""Predict -- provides access to loaded TensorFlow model.
|
||||
"""
|
||||
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
|
||||
|
||||
|
||||
class BetaPredictionServiceStub(object):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This class was generated
|
||||
only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
|
||||
"""PredictionService provides access to machine-learned models loaded by
|
||||
model_servers.
|
||||
"""
|
||||
def Predict(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
|
||||
"""Predict -- provides access to loaded TensorFlow model.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
Predict.future = None
|
||||
|
||||
|
||||
def beta_create_PredictionService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This function was
|
||||
generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
|
||||
request_deserializers = {
|
||||
('tensorflow.serving.PredictionService', 'Predict'): tensorflow__serving_dot_apis_dot_predict__pb2.PredictRequest.FromString,
|
||||
}
|
||||
response_serializers = {
|
||||
('tensorflow.serving.PredictionService', 'Predict'): tensorflow__serving_dot_apis_dot_predict__pb2.PredictResponse.SerializeToString,
|
||||
}
|
||||
method_implementations = {
|
||||
('tensorflow.serving.PredictionService', 'Predict'): face_utilities.unary_unary_inline(servicer.Predict),
|
||||
}
|
||||
server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
|
||||
return beta_implementations.server(method_implementations, options=server_options)
|
||||
|
||||
|
||||
def beta_create_PredictionService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
|
||||
"""The Beta API is deprecated for 0.15.0 and later.
|
||||
|
||||
It is recommended to use the GA API (classes and functions in this
|
||||
file not marked beta) for all further purposes. This function was
|
||||
generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
|
||||
request_serializers = {
|
||||
('tensorflow.serving.PredictionService', 'Predict'): tensorflow__serving_dot_apis_dot_predict__pb2.PredictRequest.SerializeToString,
|
||||
}
|
||||
response_deserializers = {
|
||||
('tensorflow.serving.PredictionService', 'Predict'): tensorflow__serving_dot_apis_dot_predict__pb2.PredictResponse.FromString,
|
||||
}
|
||||
cardinalities = {
|
||||
'Predict': cardinality.Cardinality.UNARY_UNARY,
|
||||
}
|
||||
stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
|
||||
return beta_implementations.dynamic_stub(channel, 'tensorflow.serving.PredictionService', cardinalities, options=stub_options)
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
Loading…
Reference in New Issue
Block a user