38

我按照仅针对 CPU 的说明在我的 Ubuntu 15.10 机器上安装了 TensorFlow:

$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

然后,当我运行 Python REPL 并导入 tensorflow 时,我得到:

$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
   from tensorflow.python import *
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 13, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/home/phil/.local/lib/python2.7/site-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 "/home/phil/.local/lib/python2.7/site-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 "/home/phil/.local/lib/python2.7/site-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 "/home/phil/.local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in <module>
    serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto \x12\ntensorflow\"d\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
TypeError: __init__() got an unexpected keyword argument 'syntax'

我安装了 Ubuntu protobuf-compiler 包,它的版本是 2.6.1-1.2

4

5 回答 5

45

一些用户报告了安装旧版本的 protobuf 时出现的问题。

TensorFlow 需要(并使用副本)protobuf-3.0.0a4。但是,它似乎与您安装的版本冲突(可能是由于 PYTHONPATH 环境变量在您的系统上的配置方式?)。如果已安装,您可以尝试将python-protobuf包卸载,然后查看 TensorFlow 是否正确启动?

一些用户在使用 virtualenv 时取得了成功。有关将 TensorFlow 安装到 virtualenv 的说明,请参阅入门指南

于 2015-11-10T05:17:49.533 回答
29

这个github 评论解决了我的问题。

简而言之,您需要protobuf>=3.0安装才能使 tensorflow 工作。

首先卸载protobuf你有的,然后pip install 'protobuf>=3.0.0a3'

这不仅仅是 Ubuntu 的问题,Mac OS 也有类似的问题。

于 2015-11-10T19:57:27.370 回答
24

它对我有用:

pip uninstall protobuf
pip uninstall tensorflow
brew uninstall protobuf
pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

import google.protobuf
>>> print google.protobuf.__version__
3.0.0a4
>>> import tensorflow
于 2015-12-02T10:31:12.703 回答
5

我今天遇到了类似的问题。这是因为我安装了截至 2018 年 7 月 30 日与 tensorflow 不兼容的python 3.73.6 。降级以解决该问题。如果有人感兴趣,请在此处发布解决方案。

解决此问题时,以下 github 问题很有帮助:https ://github.com/tensorflow/tensorflow/issues/17022

于 2018-07-30T23:58:37.743 回答
0

我在 python 2.7 版上运行时遇到了同样的错误。但是当我使用python 版本 3运行它时一切都很好。

在 bash shell 上尝试以下命令:

python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> exit()

它对我有用。

于 2017-03-02T10:24:46.783 回答