如何使用用于 tensorflow 的协议缓冲区编译器从 .proto 文件正确地重新生成 python .pb2.py 文件?
How does one properly regenerate python .pb2.py files from .proto files using protocol buffer compiler for tensorflow?
以 incepetion_inference.proto 为例,我尝试使用以下命令重新生成 inception_inference.pb2.py 文件:
协议 inception_inference.proto --python_out=./
比较新生成的文件,inception_inference.pb2.py和原来编译生成的文件,除了license notification,其他都是一样的,底部包含:
import abc
import six
from grpc.beta import implementations as beta_implementations
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities
class BetaInceptionServiceServicer(six.with_metaclass(abc.ABCMeta, object)):
"""<fill me in later!>"""
@abc.abstractmethod
def Classify(self, request, context):
raise NotImplementedError()
class BetaInceptionServiceStub(six.with_metaclass(abc.ABCMeta, object)):
"""The interface to which stubs will conform."""
@abc.abstractmethod
def Classify(self, request, timeout):
以此类推...
我猜 Bazel 构建系统的某些部分将它注入到 .pb2.py 文件中,但我找不到它是在哪里完成的。
有人知道如何正确地重新生成这个文件吗?显然,了解这是生成我自己的 .proto 文件的必要步骤。
谢谢!
尝试
protoc -I ./ --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` ./your.proto
确保你已经安装了 protoc 3.0(C++ 和 python 插件),如果你还没有的话,可能 运行 在 grpcio 上安装 pip。
以 incepetion_inference.proto 为例,我尝试使用以下命令重新生成 inception_inference.pb2.py 文件:
协议 inception_inference.proto --python_out=./
比较新生成的文件,inception_inference.pb2.py和原来编译生成的文件,除了license notification,其他都是一样的,底部包含:
import abc
import six
from grpc.beta import implementations as beta_implementations
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities
class BetaInceptionServiceServicer(six.with_metaclass(abc.ABCMeta, object)):
"""<fill me in later!>"""
@abc.abstractmethod
def Classify(self, request, context):
raise NotImplementedError()
class BetaInceptionServiceStub(six.with_metaclass(abc.ABCMeta, object)):
"""The interface to which stubs will conform."""
@abc.abstractmethod
def Classify(self, request, timeout):
以此类推...
我猜 Bazel 构建系统的某些部分将它注入到 .pb2.py 文件中,但我找不到它是在哪里完成的。
有人知道如何正确地重新生成这个文件吗?显然,了解这是生成我自己的 .proto 文件的必要步骤。
谢谢!
尝试
protoc -I ./ --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` ./your.proto
确保你已经安装了 protoc 3.0(C++ 和 python 插件),如果你还没有的话,可能 运行 在 grpcio 上安装 pip。