TensorFlowをインストールしたけどTypeErrorが出る⇒解決

tensorflow
GoogleのTensorFlowをUbuntu 14.04にインストールしてみました。しかし、”import tensorflow”で、TypeErrorが出ていました。

スポンサーリンク

TensorFlow

TensorFlow(https://www.tensorflow.org)は、Googleが開発したディープラーニングフレームワークです。

インストール

TensorFlowのインストール方法には、Pip install、Virtualenv install、Docker installがありますが、今回は、Virtualenv installを選択しました(インストール時点のバージョンは、0.6.0)。

$ sudo apt-get install python-pip python-dev python-virtualenv
$ virtualenv --system-site-packages ~/tensorflow
$ source ~/tensorflow/bin/activate
(tensorflow)$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl

エラー発生

(tensorflow)$ python
>>> import tensorflow as tf
...
TypeError: __init__() got an unexpected keyword argument 'syntax'

Mac OS Xで記載のあったTypeErrorが、Ubuntu 14.04でも発生しました。

(tensorflow)$ pip install --upgrade protobuf

も試して見ましたが、TypeErrorは消えてくれません。
システム上のprotobufのバージョンは古いのですが、Virtualenv上のprotobufのバージョンはTensorFlowが必要とするバージョンになっていました。
また、CPU版の代わりにGPU版も試して見たのですが、同じエラーが発生しました。

自己解決

せっかくVirtualenvを使用するのだから、オプションの”–system-site-packages”をなくしてクリーンなPython環境にTensorFlowをインストールしてみました。

$ virtualenv ~/tensorflow
$ source ~/tensorflow/bin/activate
(tensorflow)$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl

結果、TypeErrorの発生はなくなりました。

(tensorflow)$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!

Ubuntu環境にも関わらず、TypeErrorが発生している方は、お試しあれ!