protoc和protobuf(Protocol Buffer)有什么区别
What is the difference between protoc and protobuf (Protocol Buffer)
可以澄清一下 protocol buffer and protoc 之间的区别吗?谷歌搜索仅显示协议缓冲区。我发现 protobuf-programming language-version 和 protoc-operating system-86_32 的命名约定不同。他们是不同的还是相同的?
我在使用 tensorflow 时是否需要安装两者?虽然
protoc --version
是 3.6,但我的 pip 在抱怨
tensorflow-gpu 1.7.0 has requirement protobuf>=3.4.0, but you'll have protobuf 2.6.1 which is incompatible.
"protobuf" 或 "protocol buffers" 是序列化格式的名称 and/or 相关工具。
protoc
是一个特定的 protobuf 工具,特别是 Google 对“.proto”解析器和代码生成器(以及其他一些东西)的实现
".proto" 是一种模式 DSL,用于描述您计划在应用程序中使用的消息 - 它是基于文本的。
通常的流程是:
- 为您的消息编写或获取 .proto
- 运行 .proto 通过 protoc 或任何其他特定于库的生成器工具来获取目标平台的消息类型
- 将那些生成的消息类型添加到您的应用程序
- 导入/引用与您选择的工具/平台相匹配的 protobuf 库
- 建造
一些工具以相反的方式工作,在您的平台中使用您自己的类型("code first" 而不是 "contract first" 方法)
可以澄清一下 protocol buffer and protoc 之间的区别吗?谷歌搜索仅显示协议缓冲区。我发现 protobuf-programming language-version 和 protoc-operating system-86_32 的命名约定不同。他们是不同的还是相同的?
我在使用 tensorflow 时是否需要安装两者?虽然
protoc --version
是 3.6,但我的 pip 在抱怨
tensorflow-gpu 1.7.0 has requirement protobuf>=3.4.0, but you'll have protobuf 2.6.1 which is incompatible.
"protobuf" 或 "protocol buffers" 是序列化格式的名称 and/or 相关工具。
protoc
是一个特定的 protobuf 工具,特别是 Google 对“.proto”解析器和代码生成器(以及其他一些东西)的实现
".proto" 是一种模式 DSL,用于描述您计划在应用程序中使用的消息 - 它是基于文本的。
通常的流程是:
- 为您的消息编写或获取 .proto
- 运行 .proto 通过 protoc 或任何其他特定于库的生成器工具来获取目标平台的消息类型
- 将那些生成的消息类型添加到您的应用程序
- 导入/引用与您选择的工具/平台相匹配的 protobuf 库
- 建造
一些工具以相反的方式工作,在您的平台中使用您自己的类型("code first" 而不是 "contract first" 方法)