Protocol buffers 反序列化protobuf文件时出现意外的组标记错误

Protocol buffers 反序列化protobuf文件时出现意外的组标记错误,protocol-buffers,proto,onnx,protobuf-c,Protocol Buffers,Proto,Onnx,Protobuf C,在反序列化onnx二进制文件时,我遇到以下错误: Traceback (most recent call last): from model.ParseFromString(f.read()) File "~/protobuf-3.3.0-py2.7.egg/google/protobuf/message.py", line 185, in ParseFromString self.MergeFromString(serialized) File "~/protobuf-3.3.0-py

在反序列化onnx二进制文件时,我遇到以下错误:

Traceback (most recent call last):
 from model.ParseFromString(f.read())
 File "~/protobuf-3.3.0-py2.7.egg/google/protobuf/message.py", line 185, in ParseFromString
 self.MergeFromString(serialized)
 File "~/protobuf-3.3.0-py2.7.egg/google/protobuf/internal/python_message.py", line 1063, in MergeFromString
 if self._InternalParse(serialized, 0, length) != length:
 File "~/protobuf-3.3.0-py2.7.egg/google/protobuf/internal/python_message.py", line 1099, in InternalParse
 pos = field_decoder(buffer, new_pos, end, self, field_dict)
 File "~/protobuf-3.3.0-py2.7.egg/google/protobuf/internal/decoder.py", line 615, in DecodeRepeatedField
 raise _DecodeError('Unexpected end-group tag.')
 google.protobuf.message.DecodeError: Unexpected end-group tag.
我正在使用protobuf版本3.3.0。我使用的是给出错误的
ParseFromString
函数


有谁能帮我处理这个错误吗?

您的有效负载是否在这里进行了干净的验证:?如果该站点还说您有一个意外的结束组标记,那么:您可能有一个意外的结束组标记-这意味着:您的数据已损坏。那么:这些数据来自哪里?它是否在某个时候被视为文本?(protobuf不是文本;将其视为文本会损坏它)您可以在这里发布负载的十六进制或base-64吗?您的模式甚至使用组吗?注意:另一个常见的可能损坏原因是在不截断数据的情况下覆盖数据较少的文件(尾部垃圾)。我使用的是文件我不熟悉onnx-是原始protobuf二进制负载吗?我使用的是import proto3_pb2 f=open(sys.argv[1],“rb”)model=proto3_pb2.ModelProto()model.ParseFromString(f.read())f.close()graph=model.graph打印(graph.node)。这读取了我用protobuf 3.5.2尝试的onnx二进制文件,它正在工作。此版本中是否存在错误。如果是,如果有一种方法我可以解决而不切换到此版本您的有效负载是否在此处进行了干净的验证:?如果该站点还说您有一个意外的结束组标记,那么:您可能有一个意外的结束组标记-这意味着:您的数据已损坏。那么:这些数据来自哪里?它是否在某个时候被视为文本?(protobuf不是文本;将其视为文本会损坏它)您可以在这里发布负载的十六进制或base-64吗?您的模式甚至使用组吗?注意:另一个常见的可能损坏原因是在不截断数据的情况下覆盖数据较少的文件(尾部垃圾)。我使用的是文件我不熟悉onnx-是原始protobuf二进制负载吗?我使用的是import proto3_pb2 f=open(sys.argv[1],“rb”)model=proto3_pb2.ModelProto()model.ParseFromString(f.read())f.close()graph=model.graph打印(graph.node)。这读取了我用protobuf 3.5.2尝试的onnx二进制文件,它正在工作。此版本中是否存在错误。如果是,如果有一种方法我可以解决不切换到这个版本