问题标签 [proto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
129 浏览

tensorflow - 如何将 Graph Transform Tool 与通过估算器 API 导出的已保存模型一起使用

如果使用高级估计器 API 训练模型,则可以通过调用将其导出

但是,使用这种方法,模型以以下目录结构保存:

我找不到将这种样式(称为 savemodel 格式)转换为单个冻结图的任何方法。我想要实现的是使用tensorflow Graph Transform Tool应用转换进行优化。这无法应用saved_model.pb并失败并出现以下错误:

0 投票
1 回答
801 浏览

protocol-buffers - gRPC protobuf bindings: Are changes to fileDescriptor breaking changes?

I am currently developing a gRPC service in Go with gRPC Gateway as an HTTP proxy. I am generating .pb.go bindings from my .proto files, but I noticed that there are subtle changes to my bindings in two separate but related situations when I wouldn't expect it. Each binding file has a mysterious field var fileDescriptorX = byte[]{.....} where X is actually a number. Both unexpected changes happen with this field and only this field.

My big question: Are these bindings compatible with each other or are changes to this field considered breaking changes, rendering different versions of the bindings incompatible?

First, if I add another proto file to the same folder and it comes alphabetically before the existing protos, the fileDescriptor field will be renamed when I re-generate my Go bindings. The number X at the end of the name of the field fileDescriptorX corresponds to its ordering compared to the other files in the folder. To be clear, if I have a folder with b.proto and b.pb.go, then I add a.proto and then re-reun my compiler to create a.pb.go, b.pb.go's file descriptor will get bumped from 0 to 1, and a.pb.go will get the new filedescriptor0.

Second, since I am using gRPC gateway, I wanted to change the paths in my HTTP options. Let's say I have an RPC in a.proto:

When I change the path above to "/api/foo/v1alpha1/foo", a.pb.gw.go changes understandably, but the bytes in a.pb.go's fileDescriptor0 field change as well.

There doesn't seem to be any documentation discussing how these fields are used and if changes in them are incompatible, breaking changes with other bindings. Any help is appreciated. Thanks!

0 投票
0 回答
1202 浏览

cmake - *.pb.h 和 *.pb.cc protobuf 文件未生成

我正在使用 protobuf_generate_cpp() 来从 *.proto 文件生成 *.cc 和 *.h 文件,但它没有被执行。我没有收到任何错误消息,只是跳过了这些行。CMakeLists.txt 文件如下所示:

我的解决方案已创建 @location CMAKE_BINARY_SOURCE_DIR 但未创建 NAME.pb.h 和 NAME.pb.cc 文件。有人可以让我知道问题可能是什么吗?任何建议表示赞赏。

0 投票
1 回答
34 浏览

json - 如何在单个数据数组中序列化不同的 protobuf 并在以后提取它们?

我有两个原型,比如说

消息 1 和消息 2。

我会收到这些原始消息。我想序列化它们,但将序列化的字节附加到单字节数组中。这样做的正确方法是什么?

我的意思是从结果字节数组中,消费者应该能够反序列化这两条消息。我是否需要添加某种元数据,例如

然后,当我为单个序列化消息(在这种情况下为 Message1 和 Message2)获得的字节附加到某些东西时

结果 = [1] ,[消息 1 的字节数组的长度] [消息 1 的字节数组], [2], [消息 2 的字节数组长度], [消息 2 的字节数组]

然后发送字节数组。在消费者端,他们将读取第一个字节作为消息类型,第二个 4 个字节作为消息长度,并在此基础上读取第一个消息字节数组,依此类推。

如果我想将它们序列化为 json。我还需要进行某种编码吗?

也让我们简化问题。如果我必须在单个字节数组中添加同一消息的多个实例,那么理想的方法是什么?

0 投票
2 回答
482 浏览

java - java.lang.IndexOutOfBoundsException - 使用协议缓冲区构建 Java 对象时

我正在使用 Protobuff 来构建我的 Java 对象,为什么在调用我的代码时总是java.lang.IndexOutOfBoundsException: Index: 0, Size: 0出现异常。setHeader(0, h1)

这是我的代码:

这是我的 protobuff 消息(调用 dataformat.proto):

堆栈跟踪:

...

0 投票
1 回答
3053 浏览

mongodb - 在 Mongodb 中存储 protobuf java 对象的简单方法?

当需要存储以 Java 实例形式(来自生成的 java 类)的 protobuf3 消息时,最好的选择是存储对象本身,然后再从数据库中读取它。

我的用例是将此类消息存储在 Mongodb 中。在调查这个的时候,我找不到办法,所以决定在这里问。

0 投票
4 回答
21512 浏览

java - 如何将 Google 原型时间戳转换为 Java LocalDate?

我们需要将 Google Proto 缓冲区时间戳转换为正常日期。在这种情况下,有没有办法将 Google Proto 缓冲区时间戳LocalDate直接转换为 Java?

0 投票
2 回答
452 浏览

javascript - 如何检查一个对象是否是 JavaScript 中的常规对象

我创建了一个递归合并对象的合并库。有时在中间会有一个实际上是一个特殊类的对象(如 Firestore 的时间戳)。

在我的合并函数中,我检查某物是否是对象:

但是,通过此检查,一些具有特殊原型的特殊类仍被视为常规 JavaScript 对象。

我的问题:
该对象将失去其特殊的类原型,因为我只通过非原型值递归合并。

我的问题:
我怎样才能改变上面的函数,不仅检查它是否是一个 JavaScript 对象,而且检查它是否是一个普通的 JavaScript 对象

基本上我只想返回if是这样的对象:true或任何道具。isObject(obj)obj{}

false但是一旦原型不同(因此它是一个特殊的类),那么我想返回isObject(obj)

0 投票
2 回答
938 浏览

go - golang protobuf 编组具有固定大小的空结构

我有一个 protobuf 结构Data

.proto

在戈朗

0长了!

无论 pb.Data 是什么,如何让 proto.Marshal 始终返回固定大小?

附言。

pb.Data 仅包含int64int32

0 投票
1 回答
1784 浏览

import - 在原型中从父文件夹导入到子文件夹

我正在尝试将 proto defn 从父 proto 导入具有以下文件夹结构的子 proto。

父.proto

child.proto

目前它给我一个错误,说它找不到 parent.proto。请建议。