从源构建的 Tensorflow pip 在 'import tensorflow' 上失败

Tensorflow pip built from source fails on 'import tensorflow'

在 Ubuntu 15.10、Cuda 7.5、cudnn 4.0、python 2.7 上从源代码构建了 tensorflow 0.7。 Bazel 构建和 pip 包生成正常。 pip安装没问题。 Python 脚本 "import tensorflow" 失败:

Traceback (most recent call last):
  File "/home/keith/Desktop/tf1.py", line 8, in <module>
    import tensorflow as tf
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 35, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/core/framework/graph_pb2.py", line 16, in <module>
    from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/core/framework/attr_value_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/core/framework/tensor_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in <module>
    serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow\"z\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x12\x14\n\x0cunknown_rank\x18\x03 \x01(\x08\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tB/\n\x18org.tensorflow.frameworkB\x11TensorShapeProtosP\x01\x62\x06proto3')
TypeError: __init__() got an unexpected keyword argument 'syntax'

有什么想法吗? 谢谢

这看起来确实像是 protobuf 库版本控制错误。这里有一个关于类似问题的长线程: https://github.com/tensorflow/tensorflow/issues/11 最后有一些建议的解决方案可能会有所帮助。

我在 manjaro linux 笔记本电脑上成功 运行 TensorFlow 0.7 使用 cuda 加速 运行 python 和 optirun:

$optirun python

但是,我在使用 protobuf 时遇到了问题,我不得不 uninstall/reinstall 以前版本的 protobuf 和 tensorflow 与 pip。 http://bit.ly/1RHApU5

这是因为protobuf版本冲突: 对我来说,我从 apt-get 包管理器安装了 python-protobuf v2.6.1 在安装 tensorflow 时,它从 pip manager

安装了 protobuf v3.3.0

所以我卸载了两个:

sudo pip uninstall protobuf
sudo apt-get remove python-protobuf

使用 pip 重新安装,问题解决了!!!

sudo pip install protobuf

希望这对您有所帮助..