【问题标题】:Could't load a pre-trained resnet pb file from the official website of Tensorflow无法从 Tensorflow 官网加载预训练的 resnet pb 文件
【发布时间】:2018-04-17 08:45:22
【问题描述】:

我从下载了一个预训练的 resnet pb 文件 http://download.tensorflow.org/models/official/resnet_v1_imagenet_savedmodel.tar.gz

当我尝试通过以下代码将其导入图表时

tf.Graph().as_default():

    with tf.gfile.FastGFile(path, 'rb') as file:
        graph_def = tf.GraphDef()

        graph_def.ParseFromString(file.read())

        tf.import_graph_def(graph_def, name='')`

我收到了错误

    graph_def.ParseFromString(file.read())
  File "D:\Anaconda3\lib\site-packages\google\protobuf\message.py", line 185, in
 ParseFromString
    self.MergeFromString(serialized)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\python_message.p
y", line 1083, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\python_message.p
y", line 1120, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 633, in DecodeField
    if value._InternalParse(buffer, pos, new_pos) != new_pos:
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\python_message.p
y", line 1120, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 612, in DecodeRepeatedField
    if value.add()._InternalParse(buffer, pos, new_pos) != new_pos:
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\python_message.p
y", line 1120, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 743, in DecodeMap
    if submsg._InternalParse(buffer, pos, new_pos) != new_pos:
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\python_message.p
y", line 1109, in InternalParse
    new_pos = local_SkipField(buffer, new_pos, end, tag_bytes)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 850, in SkipField
    return WIRETYPE_TO_SKIPPER[wire_type](buffer, pos, end)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 799, in _SkipGroup
    new_pos = SkipField(buffer, pos, end, tag_bytes)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 850, in SkipField
    return WIRETYPE_TO_SKIPPER[wire_type](buffer, pos, end)
  File "D:\Anaconda3\lib\site-packages\google\protobuf\internal\decoder.py", lin
e 814, in _SkipFixed32
    raise _DecodeError('Truncated message.')
google.protobuf.message.DecodeError: Truncated message.

'path'是pb文件。

【问题讨论】:

  • 它说消息被截断,可能是您的下载文件已损坏或未正确解压缩。

标签: python windows tensorflow


【解决方案1】:

我发现http://download.tensorflow.org/models/official/resnet_v1_imagenet_savedmodel.tar.gz的pb文件只有806KB。所以它可能是一个没有权重的图形文件

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2021-04-20
    • 2018-06-17
    • 2018-07-25
    • 1970-01-01
    相关资源
    最近更新 更多