【问题标题】:'TypeError: Expected a message Descriptor, got Descriptor' when trying to import keras'TypeError: Expected a message Descriptor, got Descriptor' 在尝试导入 keras 时
【发布时间】:2021-06-05 00:02:02
【问题描述】:

我试图导入这个

from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D, Flatten, Dense
from tensorflow.keras.callbacks import EarlyStopping

我收到了这个错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-5869267b9269> in <module>
----> 1 from tensorflow.keras import Sequential
      2 from tensorflow.keras.layers import Conv2D, Flatten, Dense
      3 from tensorflow.keras.callbacks import EarlyStopping

~\Anaconda3\lib\site-packages\tensorflow\__init__.py in <module>
     26 
     27 # pylint: disable=g-bad-import-order
---> 28 from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
     29 from tensorflow.python.tools import module_util as _module_util
     30 

~\Anaconda3\lib\site-packages\tensorflow\python\__init__.py in <module>
     50 
     51 # Protocol buffers
---> 52 from tensorflow.core.framework.graph_pb2 import *
     53 from tensorflow.core.framework.node_def_pb2 import *
     54 from tensorflow.core.framework.summary_pb2 import *

~\Anaconda3\lib\site-packages\tensorflow\core\framework\graph_pb2.py in <module>
     14 
     15 
---> 16 from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2
     17 from tensorflow.core.framework import function_pb2 as tensorflow_dot_core_dot_framework_dot_function__pb2
     18 from tensorflow.core.framework import versions_pb2 as tensorflow_dot_core_dot_framework_dot_versions__pb2

~\Anaconda3\lib\site-packages\tensorflow\core\framework\node_def_pb2.py in <module>
     14 
     15 
---> 16 from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
     17 
     18 

~\Anaconda3\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py in <module>
     14 
     15 
---> 16 from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
     17 from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
     18 from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2

~\Anaconda3\lib\site-packages\tensorflow\core\framework\tensor_pb2.py in <module>
     14 
     15 
---> 16 from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
     17 from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
     18 from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2

~\Anaconda3\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py in <module>
     90 ResourceHandleProto = _reflection.GeneratedProtocolMessageType('ResourceHandleProto', (_message.Message,), dict(
     91   DESCRIPTOR = _RESOURCEHANDLEPROTO,
---> 92   __module__ = 'tensorflow.core.framework.resource_handle_pb2'
     93   # @@protoc_insertion_point(class_scope:tensorflow.ResourceHandleProto)
     94   ))

TypeError: Expected a message Descriptor, got Descriptor

我不知道为什么它在以前很好的时候突然这样做了。我为那些遇到“预期字节”错误的人尝试了解决方案,但无济于事。似乎以前没有人遇到过这个错误。

非常感谢您的帮助!

【问题讨论】:

  • 你能提供更多细节吗?你在 GPU 上使用 TensorFlow 吗?您是否尝试在虚拟环境中执行此操作?像康达?您在系统上安装了什么版本的 TensorFlow?
  • @ARAT 1. 是的,我在 GPU 上使用它。 2. 使用 Anaconda3 的 Jupyter Notebook 时出现错误。 3. 我使用的是 2.4.1 版本。谢谢!
  • 您的 tensorflow 安装似乎已损坏。尝试卸载现有版本并安装新版本pip install tf-nightly。此外,您可能还需要pip install protobuf

标签: python python-3.x tensorflow keras


【解决方案1】:

这对我有用!

  1. 卸载 TensorFlow 并重新安装(对我来说是 tensorflow==1.0.1)
  2. pip install protobuf==3.6

【讨论】:

    猜你喜欢
    • 2020-09-10
    • 2020-09-26
    • 2017-11-22
    • 2018-10-09
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    相关资源
    最近更新 更多