読者です 読者をやめる 読者になる 読者になる

TensorFlow試してみた

python deep learning

TensorFlowを試してみました。まだ、上手く動かせていません。

Mac OSなので、pipを使ってインストール。

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

問題なくインストールできました。動かしてみる。

$ python
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
…
>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
…
TypeError: __init__() got an unexpected keyword argument 'syntax'

importしようとしたらエラーがでる。

調べてみたところ先人がいた。 tensorFlowのimportでTypeErrorが出る場合 - Qiita

TensorFlowはprotobufのVer3の構文を使用するが、インストールしてあるのが、Ver2.6なのでダメらしい。Ver2.6をアンインストールして、Ver3.0.0a4を手動で入れる。ここから入手。

$ sudo pip uninstall protobuf
$ tar zxvf protobuf-python-3.0.0-alpha-4.tar.gz
$ cd protobuf-3.0.0-alpha-4/
$ ./configure --prefix=/usr/local
$ make
$ make install

configure、久しぶりに使ったなあ。 protobufを入れてもまだ上手くいかない。パスの指定が不足している訳でもなさそうだが。

from google.protobuf import descriptor as _descriptor
…
DESCRIPTOR = _descriptor.FileDescriptor(
   name='tensorflow/core/framework/tensor.proto',
   package='tensorflow',
   syntax='proto3',
   serialized_pb=_b('\n&tensorflow/core/framework/tensor.proto\x12\nt    ensorflow\x1a,tensorflow/core/framework/tensor_shape.proto\x1a%tenso    rflow/core/framework/types.proto\"\xb5\x02\n\x0bTensorProto\x12#\n\x    05\x64type\x18\x01 \x01(\x0e\x32\x14.tensorflow.DataType\x12\x32\n\x    0ctensor_shape\x18\x02 \x01(\x0b\x32\x1c.tensorflow.TensorShapeProto    \x12\x16\n\x0eversion_number\x18\x03 \x01(\x05\x12\x16\n\x0etensor_c    ontent\x18\x04 \x01(\x0c\x12\x15\n\tfloat_val\x18\x05 \x03(\x02\x42\    x02\x10\x01\x12\x16\n\ndouble_val\x18\x06 \x03(\x01\x42\x02\x10\x01\    x12\x13\n\x07int_val\x18\x07 \x03(\x05\x42\x02\x10\x01\x12\x12\n\nst    ring_val\x18\x08 \x03(\x0c\x12\x18\n\x0cscomplex_val\x18\t \x03(\x02    \x42\x02\x10\x01\x12\x15\n\tint64_val\x18\n \x03(\x03\x42\x02\x10\x0    1\x12\x14\n\x08\x62ool_val\x18\x0b \x03(\x08\x42\x02\x10\x01\x62\x06    proto3')
…

どこで躓いているのかは分かるのに、対応方法が見えない。今日はあきらめて、また挑戦しよう。