あけましてTensorflow on centos6
見てくれる人がいるかわかりませんが、明けましておめでとうございます。
新年ということで実家からVPSにTensorflowを入れてみました。
何をさせるからこれから考えます。
導入(Python)
とりあえすつまづいた点を挙げていきます。
入れ方はこちらを参考に。
CentOS に Python2.7, Python3.3を入れたメモ - Qiita
- CentOS6.6なのでPythonのインストールから
- 動作環境がC++かPythonなので、せっかくだからPythonにしました。
- 2系と3系があるそうですが、馴染みがあるのが2系なので2系にしたらはまってしまった…
- 結局Pythonは3系にしました
- ここから私の浅い知識なのでいくらでも回避方法があると思います。それも面倒な方はご参考に。
- 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 tensorflowsource 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
何をさせようかもあるけど、使い方も手探りでいろいろ試したいですね。