Googleが人工知能ライブラリ「TensoFlow」をオープンソース化した。
Pythonで書かれたライブラリで構成されており、サンプルやチュートリアルを見ただけでも、画像の分類処理や手書きの認識処理を試すことができる。 評価環境を立ち上げるために、まずはTensorFlowの環境を構築するためのVagrantの仮想環境を作ってみることにした。
TensorFlowのインストール方法の勉強
TensorFlowのインストール方法は、下記のウェブサイトに書かれている。
http://www.tensorflow.org/get_started/os_setup.md
今回はベースの環境としてUbuntu15.04を使うため、Linuxの部分を読んで進んでいく。 ちなみに、GPGPUは今回は利用しない。まあ仮想環境だしね。今後TensorFlowを理解できるようになったら導入してもいいかもしれない。
TensorFlowのパッケージはPythonなので、Pythonのパッケージ環境を使ってインストールするらしい。
# For CPU-only version $ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
通常ならばこれでOKだが、今回はVagrantで自動的に仮想環境を構築したい。これらをChefで起こしていく。
TensorFlowのインストール手順をChefレシピに起こす
TensorFlowのバイナリと、サンプルを実行させるためのソースコードが必要なので、これらを導入しよう。 Pythonのパッケージをインストールするためのpip_pythonのcookbookを導入してみたかったが、使い方がよく分からなかったのでやむなくshellをexecuteした。
git "/home/vagrant/tensorflow" do repository "https://github.com/tensorflow/tensorflow" revision "master" enable_submodules true action :sync end packages = %w{python-numpy swig python-dev} packages.each do |pkg| package pkg do action [:install, :upgrade] end end execute "extract pip_python" do cwd "/home/vagrant/" command "pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl" action :run end
Vagrantを起動する
vagrantを起動すると、自動的にTensorFlowと必要なソースコードがguthubから落とされる。
vagrant up
Vagrantの中に入って、TensorFlowを動かしてみる
$ vagrant ssh Welcome to Ubuntu 15.04 (GNU/Linux 3.19.0-28-generic x86_64) * Documentation: https://help.ubuntu.com/ System information as of Tue Nov 10 16:59:01 UTC 2015 System load: 0.16 Processes: 73 Usage of /: 5.4% of 38.81GB Users logged in: 0 Memory usage: 7% IP address for eth0: 10.0.2.15 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 50 packages can be updated. 21 updates are security updates. New release '15.10' available. Run 'do-release-upgrade' to upgrade to it. Last login: Tue Nov 10 16:56:49 2015 from 10.0.2.2 vagrant@vagrant-ubuntu-vivid-64:~$ ls -lt total 4 drwxr-xr-x 7 vagrant vagrant 4096 Nov 10 16:58 tensorflow vagrant@vagrant-ubuntu-vivid-64:~$ cd tensorflow/
さて、早速例題を動かしてみよう。
http://tensorflow.org/get_started/os_setup.md#binary_installation
上記の、「Train your first TensorFlow neural net model」を動かしてみる。
vagrant@vagrant-ubuntu-vivid-64:~/tensorflow$ python tensorflow/models/image/mnist/convolutional.py Succesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes. Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes. Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes. Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes. Extracting data/train-images-idx3-ubyte.gz Extracting data/train-labels-idx1-ubyte.gz Extracting data/t10k-images-idx3-ubyte.gz Extracting data/t10k-labels-idx1-ubyte.gz I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 1 I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 1 Initialized! Epoch 0.00 Minibatch loss: 12.053, learning rate: 0.010000 Minibatch error: 90.6% Validation error: 84.6% Epoch 0.12 Minibatch loss: 3.285, learning rate: 0.010000 Minibatch error: 6.2% Validation error: 7.0% ...
おお、動きだした。とりあえず環境はできたので、今日はここまで。