行く記憶の流れは絶えずして

戻ってこないのでメモするところ

あけましてTensorflow on centos6

 

見てくれる人がいるかわかりませんが、明けましておめでとうございます。

 

新年ということで実家からVPSにTensorflowを入れてみました。

何をさせるからこれから考えます。

 

導入(Python)

とりあえすつまづいた点を挙げていきます。

入れ方はこちらを参考に。

CentOS に Python2.7, Python3.3を入れたメモ - Qiita

  1. CentOS6.6なのでPythonのインストールから
  2. 動作環境がC++Pythonなので、せっかくだからPythonにしました。
  3. 2系と3系があるそうですが、馴染みがあるのが2系なので2系にしたらはまってしまった…
  4. 結局Pythonは3系にしました
  5. ここから私の浅い知識なのでいくらでも回避方法があると思います。それも面倒な方はご参考に。
  6. 2系(2.7.6)を入れようとすると、
  • numpyが文字コードUCS2で入る
  • TensorflowはUCS4
  • ってことになり、Pythonは(私の知る限り)どちらかの肩を持たなければいけませんが無理でした。
  • というわけで3系にしましたが、勢いで最新版の3.5.1を入れたらTensoflowが入りませんでした。
  • URLから察するに3.4.*ならいいだろうと思ったからいけました。

 

(はてなキーワードとSyntaxHighlighterがケンカしてうざい ので引用にしてます)
curl -O https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
tar zxf Python-3.4.4.tgz
cd Python-3.4.4
./configure --prefix=/opt/local/Python344
make && make altinstall
curl -kL https://bootstrap.pypa.io/get-pip.py | /opt/local/Python344/bin/python3.4
/opt/local/Python344/bin/pip3.4 install virtualenv

 

導入(Tensorflow)

mkdir tensorflow
/opt/local/Python344/bin/virtualenv --system-site-packages tensorflow

source bin/activate

./bin/python3.4 -m pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp34-none-linux_x86_64.whl

実行時にglibcのバージョンが足りない

Centos6はglibcのバージョンが2.12止まりなので、Centos7からもらいます。

そのアイデアはこちらから頂きました。

Python - root無しの環境でtensorflowを使う - Qiita

 

mkdir tflib
cd tflib
curl -O http://ftp.riken.jp/Linux/centos/7/os/x86_64/Packages/glibc-2.17-105.el7.x86_64.rpm
rpm2cpio glibc-2.17-105.el7.x86_64.rpm|cpio -idv
curl -O http://ftp.riken.jp/Linux/centos/7/os/x86_64/Packages/libstdc++-4.8.5-4.el7.x86_64.rpm
rpm2cpio libstdc++-4.8.5-4.el7.x86_64.rpm|cpio -idv

(bin/activateに追加、パスは各自環境で)

alias tfpy='LD_LIBRARY_PATH=~/tensorflow/tflib/lib64/:~/tensorflow/tflib/usr/lib64/ ~/tensorflow/tflib/lib64/ld-2.17.so ~/tensorflow/bin/python3.4'

 

さわりやサンプルコードはこちらから。

Python - TensorFlowを算数で理解する - Qiita

 

何をさせようかもあるけど、使い方も手探りでいろいろ試したいですね。