vagrant上のUbuntuでTensor Flowを動かすまでの手順

はじめに

Tensor FlowはGoogleが2015年11月にオープンソース化して公開した機械学習ライブラリです。少し興味を持ったのでまずはTensor Flowを動かすための環境として、vagrant上のubuntuにインストールして動作させてみました。その手順をメモします。

環境と前提

  • Mac OS X El Capitan 10.11.3
  • Vagrant 1.8.1
  • Ubuntu 14.04 LTS

上記に加えて、Ubuntuにはすでにpython 2.7 がインストールされている環境を前提としています。ubuntuにpythonがインストールされているか、バージョンの確認は以下のコマンドでできます。

また、Tensor Flowのインストール手順は以下の公式ドキュメント内にあるVirtualenv installationに沿っています。

Download and Setup | TensorFlow


インストール手順

Tensor Flow のインストール準備のためにpythonのパッケージ管理ツールであるpipやその他必要なものを以下コマンドでインストールします。

上記でインストールしているpython-virtualenvは、Pythonの仮想環境構築のためのツールです。ディレクトリ単位でPythonをインストールでき、Pythonの複数のバージョンを同一のOSにインストールできたり、OS上の他のユーザに影響を与えずにインストールできたりします。詳しくは以下の参考サイト様が参考になりました。ありがとうございました。

virtualenv (Python仮想環境)の使い方 | /var/log/sgryjp.log

なお、virtualenvのインストールには$ pip install virtualenvのように、pipや他のやり方でもインストールできますが、ここでは上記のように公式ドキュメントに沿って、aptを使ってインストールしています。

virtualenvを使ってPythonの仮想環境を構築します。ここでは以下のように~/tensorflowディレクトリに構築しています。


あとは以下のコマンドで仮想環境をアクティベート(有効化)します。アクティベートすると以下のように(tensorflow)が先頭に表示されます。


あとは、以下コマンドでTensorFlowをインストールします。


インストールに成功すると、以下のようなメッセージが表示されます。

これでTensorFlowのインストールは完了です。

インストール時に遭遇したエラー

上記のTensorFlowのインストールコマンドを最初実行したところ、以下のようなエラーが表示されました。

これは、python-devをインストールしていなかったことが原因のようです。上記ですでに書きましたが、aptpython-pippython-virtualenvと一緒に忘れずにpython-devをインストールしてから実行したらエラーは出なくなりました。

TensorFlowを動かしてみる

TensorFlowの公式サイトに豊富なチュートリアルが用意されているのでそれを使用してTensorFlowを動かしてみます。
チュートリアル用のソースをgitでダウンロードします。

ダウンロードしたtensorflowディレクトリの中に、examples/tutorials/mnistというディレクトリがあり、その中にfully_connected_feed.pyというファイルがあるのでこれを使用します。
MNISTやこのファイルが何をするものなのかはすでに他のサイト様で詳しく説明が書いてあるので割愛します。以下が参考になると思います。

Googleの公開した人工知能ライブラリTensorFlowを触ってみた | 株式会社ネクスト Enginner Blog

fully_connected_feed.pyの一部を修正しないと動かないので、viなどのエディタで開きます。


そしてfully_connected_feed.pyの29行目と30行目にある以下の記述を

以下のように修正します。

これは、実行に必要なファイルの読み込み先をローカルに変更しているだけになります。

あとは以下コマンドで実行します。


以下の様な実行結果が表示されます。なお、実行すると、学習用データをインターネット経由でダウンロードしてくるので、最初は少し時間がかかるかもしれません。

以上でTensorFlowを動かすことができました。

まとめ

TensorFlowのインストールと動かすところまではできましたが、これでは何も分かっていない状態で面白く無いので、今度はここから独自のデータセットを使用して学習させるなどしたいと思います。

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

SPONSORED LINK

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL