11/9にGoogleがリリースした機械学習ライブラリTensorFlow http://tensorflow.org/ を軽く利用してみたところ遭遇したWarningやエラーについて、まだ日本語で情報が出ていないように思われるものについて整理しておきます。
利用方法については、本家に丁寧なチュートリアルがあり、また、他の記事で日本語化なども試みられていますので、そちらを参照してください。
著者の環境はOSX10.9.5で、MacOS向けバイナリを利用しています。
- numpyのバージョン問題
>>> import tensorflow as tf
module compiled against API version 9 but this version of numpy is 6
既に入っていた古いnumpyが参照されているよう
numpy.__path__にあるnumpyをnumpy_tmpなど適当にrenameするとimport tensorflowは通るようになった
(renameで対処してしまって良いものなのか、より良いノウハウがありましたらpython屋さんの方ご教授下さい。)
>>> import numpy
>>> numpy.__version__
古いnumpyのバージョンが出るはず、上のエラーではnumpyが6だよと言われているので'1.6.0'など
>>> numpy.__path__
今見ているnumpyのpathが出るはず、これを控えてrenameする
- セッションを作成すると以下のwarningが出た
>>> sess = tf.Session()
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 4
http://stackoverflow.com/questions/33617638/tensorflow-mac-os-x-cant-determine-number-of-cpu-cores
によると、これはOSXバイナリを利用している場合に発生している現状のようで、
NUM_CORES = <コア数>
と明示的に指定してやると、出なくなります。
https://github.com/tensorflow/tensorflow/commit/430a054d6134f00e5188906bc4080fb7c5035ad5 のコミットにて対応されており、将来リリースされるバイナリでは問題なく実行されるようです。
- その他
他、なにか遭遇したら追記します。
(普段はpythonマンではありませんので、よくわかってなさそうな箇所があれば、よくわかっていない可能性があります。ご指摘、ご教授いただけましたら幸いです。)