• このエントリーをはてなブックマークに追加

今話題の機械学習ライブラリTensorFlowをインストールした(mac編)

  • このエントリーをはてなブックマークに追加

robot
zaco muraです。

最近何かと機械学習が話題になってますよね。

少し前にも機械学習を使った囲碁プログラム(AlphaGo)がすごい囲碁棋士に勝ったとかでニュースになりました。

このAlphaGoというのはGoogle社(が買収した会社)が作っているのですが、実はGoogleの機械学習ライブラリというのは無料で公開されていて、誰でも使えるのです。

自分は機械学習というものを全く知りませんし、文献を読んでもさっぱりなのですが、とりあえず触ってみれば何かわかるんじゃね?ということで実際にインストールしてみました。

スポンサーリンク
Sponsords Link

前提: TensorFlowとは?

・Googleが無料公開している機械学習ライブラリ
・機械学習の中でも、「ディープラーニング」という手法を用いたもの
・ディープラーニングとは、人間の脳のを模したもの(ニューラルネットワーク)を多層に使い学習させること

と言うことです。
正直あんまりよくわかりませんがw、これから勉強するということでまず触ってみます。

環境

今回は手軽に使えるということでMacにインストールしました。

・MacBookAir Mid 2013
・1.3GHz Core i5
・El Capitan 10.11.3
・TensorFlow 0.8.0

インストール手順

親切にも公式ホームページに手順が書いてあります。(英語)
https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html

※最初、OSにパッケージをインストールする手順で試してみたのですが失敗したのでvirtualenv環境でやります

まず、pythonのパッケージ管理ツールであるpipをインストールします。
(TensorFlowはpythonで書かれているらしい)

MacBook-Air:~ root# easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 8.1.1
Downloading https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
Processing pip-8.1.1.tar.gz
Writing /tmp/easy_install-tpl6fW/pip-8.1.1/setup.cfg
Running pip-8.1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tpl6fW/pip-8.1.1/egg-dist-tmp-BmbfWK
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.landscape.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'appveyor.yml'
no previously-included directories found matching '.github'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'
Adding pip 8.1.1 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip2.7 script to /usr/local/bin
Installing pip2 script to /usr/local/bin

Installed /Library/Python/2.7/site-packages/pip-8.1.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

インストールできました。
次に、virtualenvをインストールします。
virtualenvというのを初めて知りましたが、既存環境に影響なくpythonパッケージをインストールするために独立した環境を作るためのツールのようです。

MacBook-Air:~ root# pip install --upgrade virtualenv
Collecting virtualenv
  Downloading virtualenv-15.0.1-py2.py3-none-any.whl (1.8MB)
    100% |################################| 1.8MB 10kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.0.1

次にTensorFlow用の環境を作ります。

MacBook-Air:~ root# virtualenv --system-site-packages ~/tensorflow
New python executable in /var/root/tensorflow/bin/python
Installing setuptools, pip, wheel...done.

うまくいったようです
次にその環境をアクティベートしてTensorFlowをインストールします

MacBook-Air:~ root# source ~/tensorflow/bin/activate

## ここでプロンプトが変わります

(tensorflow) MacBook-Air:~ root# pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
Collecting tensorflow==0.8.0 from https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
  Using cached https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
Requirement already up-to-date: six>=1.10.0 in /Library/Python/2.7/site-packages/six-1.10.0-py2.7.egg (from tensorflow==0.8.0)
Collecting protobuf==3.0.0b2 (from tensorflow==0.8.0)
  Using cached protobuf-3.0.0b2-py2.py3-none-any.whl
Requirement already up-to-date: wheel in ./tensorflow/lib/python2.7/site-packages (from tensorflow==0.8.0)
Collecting numpy>=1.10.1 (from tensorflow==0.8.0)
  Using cached numpy-1.11.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already up-to-date: setuptools in ./tensorflow/lib/python2.7/site-packages (from protobuf==3.0.0b2->tensorflow==0.8.0)
Installing collected packages: protobuf, numpy, tensorflow
  Found existing installation: numpy 1.8.0rc1
    Not uninstalling numpy at /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python, outside environment /var/root/tensorflow
Successfully installed numpy-1.11.0 protobuf-3.0.0b2 tensorflow-0.8.0
(tensorflow) MacBook-Air:~ root#

うまくいったのかな?
次にテストを実行してみます。

### まず環境変数を読み込みます
(tensorflow) MacBook-Air:~ root# export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"

### pythonのシェルを起動します。
(tensorflow) MacBook-Air:~ root# python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!

なんかよくわかりませんがHelloとか言っているので成功でしょう。

このvirtualenv環境から抜ける場合は次のコマンドを実行します。

(tensorflow) MacBook-Air:~ root# deactivate
MacBook-Air:~ root#

以上でとりあえずTensorFlowを使う環境が整いました。
今回はここまでにします。次回はテストコードを試してみたいと思います。

しかし、openstackにせよTensorFlowにせよ、サーバエンジニアもpythonが使えないとダメな時代になってきてますね。。。

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link