【问题标题】:TypeError: expected bytes, Descriptor found类型错误:预期字节,找到描述符
【发布时间】:2020-09-10 23:09:00
【问题描述】:

如何修复以下关于tf.record 的错误回溯?

(tensorflow1) c:\tensorflow1\models\research\object_detection>python generate_tfrecord.py --csv_input=data/train_labels.csv --output_path=data/train.record --image_dir=(image directory)
Traceback (most recent call last):
  File "generate_tfrecord.py", line 17, in <module>
    import tensorflow as tf
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 15, in <module>
    from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\core\framework\node_def_pb2.py", line 15, in <module>
    from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 15, in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 15, in <module>
    from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
  File "C:\Users\Dell-Oguz\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 91, in <module>
    __module__ = 'tensorflow.core.framework.resource_handle_pb2'
TypeError: expected bytes, Descriptor found

【问题讨论】:

标签: python tensorflow tfrecord


【解决方案1】:

试试这个,对我有用

pip install protobuf-py3
pip install --upgrade protobuf

【讨论】:

【解决方案2】:

当我在现有的 tensorflow 上安装带有 conda install -c anaconda tensorflow-gpu 的 tensorflow 时,我遇到了同样的错误。

删除现有环境并创建一个新环境。然后运行conda install -c anaconda tensorflow-gpu

【讨论】:

  • 嗨,我做了“conda uninstall -c anaconda tensorflow-gpu”,然后我运行“conda install -c anaconda tensorflow-gpu”,但我得到了同样的错误。能详细点吗?
  • 使用conda remove --name myenv --all 删除环境,然后创建新环境conda create -n mynewenv python=3.6。然后运行activate mynewenvconda install -c anaconda tensorflow-gpu
  • 我不知道为什么它没有被修复。您可以尝试逐步安装 cuda、cudnn 和 keras。检查以下链接。首先安装cuda; developer.nvidia.com/cuda-downloads(我推荐 10.0 或 10.1)docs.nvidia.com/deeplearning/sdk/cudnn-install/… 之后尝试 pip install tensorflow-gpu
【解决方案3】:

可能是因为不匹配的 tensorflow 和 tensorboard 版本。

我在为我的代码创建一个单独的 conda 环境后解决了这个问题。

【讨论】:

    【解决方案4】:

    就我而言,

    pip install --ignore-installed --upgrade tensorflow-gpu==1.15.0

    完成了工作:)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 2012-06-08
      • 2017-02-02
      • 2014-06-04
      相关资源
      最近更新 更多