标签: protocol-buffers


谷歌协议缓冲区vs json vs XML

我想知道它的优点和缺点

  • Google协议缓冲区
  • JSON
  • XML

我想为两个应用程序实现一个通用框架,一个在Perl中,另一个在Java中.因此,想要创建可以由两种技术使用的公共服务,即Perl和Java.

两者都是网络应用程序.

请与我分享您对此的宝贵意见和建议.我在谷歌上看过很多链接,但都有不同意见.

xml json protocol-buffers data-serialization

226
推荐指数
1
解决办法
8万
查看次数

为什么在协议缓冲区3中删除了必需和可选项

我最近使用gRPCproto3,我已经注意到,requiredoptional在新的语法已被删除.

有人会解释为什么在proto3中删除了必需/可选项?这样的约束似乎对于使定义具有鲁棒性是必要的.

语法proto2:

message SearchRequest {
  required string query = 1;
  optional int32 page_number = 2;
  optional int32 result_per_page = 3;
}
Run Code Online (Sandbox Code Playgroud)

语法proto3:

syntax = "proto3";
message SearchRequest {
  string query = 1;
  int32 page_number = 2;
  int32 result_per_page = 3;
}
Run Code Online (Sandbox Code Playgroud)

protocol-buffers grpc proto3

182
推荐指数
4
解决办法
7万
查看次数

Apache Thrift,Google Protocol Buffers,MessagePack,ASN.1和Apache Avro之间的主要区别是什么?

所有这些都提供了二进制序列化,RPC框架和IDL.我对它们与特性(性能,易用性,编程语言支持)之间的关键差异感兴趣.

如果您了解任何其他类似技术,请在答案中提及.

thrift asn.1 protocol-buffers avro

121
推荐指数
6
解决办法
3万
查看次数

Protocol Buffers和Flatbuffers之间有什么区别?

两者都是序列化库,由Google开发人员开发.他们之间有什么大不同吗?将代码从协议缓冲区转移到FlatBuffers是一项艰苦的工作吗?

protocol-buffers flatbuffers

101
推荐指数
1
解决办法
4万
查看次数

在mac上安装Google Protocol Buffers

我想使用终端命令行在mac上安装旧版本的Google Protocol Buffers(protobuf-2.4.1).我尝试过brew install protobuf,但已安装最新版本2.5.0.是否可以从终端安装旧版本.

谢谢

homebrew protocol-buffers

96
推荐指数
10
解决办法
13万
查看次数

我可以使用null请求或响应定义grpc调用吗?

proto3中的rpc语法是否允许空请求或响应?

例如,我想要相当于以下内容:

rpc Logout;
rpc Status returns (Status);
rpc Log (LogData);
Run Code Online (Sandbox Code Playgroud)

或者我应该只创建一个null类型?

message Null {};

rpc Logout (Null) returns (Null);
rpc Status (Null) returns (Status);
rpc Log (LogData) returns (Null);
Run Code Online (Sandbox Code Playgroud)

protocol-buffers grpc

93
推荐指数
2
解决办法
4万
查看次数

TensorFlow从文件保存到/加载图形

从我到目前为止收集的内容来看,有几种不同的方法可以将TensorFlow图转储到文件中,然后将其加载到另一个程序中,但我无法找到有关它们如何工作的明确示例/信息.我已经知道的是:

  1. 使用a将模型的变量保存到检查点文件(.ckpt)中,tf.train.Saver()然后将其恢复(源代码)
  2. 将模型保存到.pb文件中并使用tf.train.write_graph()tf.import_graph_def()()加载回来
  3. 从.pb文件加载模型,重新训练并使用Bazel将其转储到新的.pb文件中(源代码)
  4. 冻结图形以将图形和权重保存在一起()
  5. 使用as_graph_def()保存模型,并为权重/变量,它们映射到常数()

但是,我无法澄清有关这些不同方法的几个问题:

  1. 关于检查点文件,他们只保存模型的训练权重吗?可以将检查点文件加载到新程序中,并用于运行模型,还是仅仅用作在特定时间/阶段将权重保存在模型中的方法?
  2. 关于tf.train.write_graph(),是否也保存了权重/变量?
  3. 关于Bazel,它是否只能从.pb文件中保存/加载以进行再培训?有一个简单的Bazel命令只是为了将图形转储到.pb中吗?
  4. 关于冻结,可以使用冻结图加载tf.import_graph_def()吗?
  5. TensorFlow的Android演示从.pb文件加载Google的Inception模型.如果我想替换我自己的.pb文件,我该怎么做呢?我需要更改任何本机代码/方法吗?
  6. 一般来说,所有这些方法之间究竟有什么区别?或者更广泛地说,/.as_graph_def()keeppt/.pb有什么区别?

简而言之,我正在寻找的方法是将图形(如,各种操作等)及其权重/变量保存到文件中,然后可以将其用于将图形和权重加载到另一个程序中,使用(不一定继续/再培训).

关于这个主题的文档不是很简单,所以任何答案/信息将不胜感激.

python protocol-buffers tensorflow

93
推荐指数
1
解决办法
3万
查看次数

协议缓冲区与JSON或BSON

有没有人有关于协议缓冲区与BSON(二进制JSON)或一般JSON的性能特征的任何信息?

  • 电线尺寸
  • 序列化速度
  • 反序列化速度

这些似乎是用于HTTP的良好二进制协议.我只是想知道从长远来看哪个C#环境会更好.

这是我在BSONProtocol Buffers上阅读的一些信息.

c# comparison json protocol-buffers bson

90
推荐指数
4
解决办法
5万
查看次数

Google Protocol Buffers - JavaScript

在JavaScript中使用Google Protocol Buffers是一个不错的选择还是使用JSON更好?

此外,如果有人可以给我一个关于JavaScript中的Protocol Buffers实现的简单示例.因为谷歌的网站我觉得它很差.

javascript protocol-buffers

78
推荐指数
3
解决办法
6万
查看次数