LoginSignup
2
3

More than 5 years have passed since last update.

Tensorflowとkerasを触ってみた

Last updated at Posted at 2017-08-26

*** 8/25に開催した Tensorflow勉強会@本町 の概要です。 ***

GCPとは?

Google Cloud Platformの略です。AWS(Amazon Web Services)のGoogle版ですね。課金体系がややこしくてちょっと使うの怖かったりするんですが、サーバを作るのがとっても楽なのと、将来的にML Engine(Tensorflowのモデルを構築してくれるサービス)なんかも試してみたいのとで今回はこれを選びました。

Compute Engineのインスタンスを作る

今回はシンプルな仮想マシンにtensorflowをインストールして動かしてみたいと思います。

新しいインスタンスを作成します。Boot diskには「Ubuntu 17」を選びました。

Screen Shot 2017-08-21 at 11.37.55.png

作成後に割り当てられる「External IP」を使ってこのインスタンスにアクセスします(以降 YOUR_IP と書かれた箇所をここで手に入れたIPに置き換えてください)。

Ubuntuのセットアップ

まずはsshでログインします。

ssh ubuntu@YOUR_IP

必要なパッケージのインストールをします。

sudo -i
apt -y update
apt -y upgrade

apt -y install python3-pip python3-dev
pip3 install --upgrade pip
pip3 install opencv-python tensorflow
exit

今回はPython3(2.xではなく)でtensorflowが動作するようにパッケージ導入しています。
以下のようにライブラリが正常にロード可能か確認してください。

$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> node1 = tf.constant(3.0, dtype=tf.float32)
>>> node2 = tf.constant(4.0) # also tf.float32 implicitly
>>> print(node1, node2)
Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32)
>>> 

Tensorflowを動かして見る

Tensorflowのインストールは完了していますが、チュートリアルのコードが欲しいので、ソースコードをGitHubから取得します。

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow/tensorflow/examples/tutorials/mnist/

一番簡単なサンプルはこちら。mnist(手書き文字)の学習と評価用のデータセットをインターネットからダウンロードしてくれて、さらに一瞬でモデルの構築と評価が完了します。

python3 mnist_softmax.py

このプログラムの中身については、以下のURLなどを参照してみてください。
(理論は苦手なので、この辺からどう実用するかという話題に逃げる…)

画像認識で遊んでみる

(作りかけでちょっと使い勝手が悪いです)
ブラウザから画像をサーバにアップロードするとtensorflowを起動して画像を分類した結果を表示してくれるアプリを作りました。また、tensorflowのサンプルコードではモデルを保存せずにそのまま評価して終わってしまっているので、Saverを使ってモデルを保存するよう改造したコードも置いてあります(train-*.py)。

git clone https://github.com/lumbermill/takachiho.git
sudo apt install apache2 php rake
cd ~/takachiho/webapps/01-tensorflow
# phpを配備
rake install
# モデルを構築して配備
cd ~/takachiho/raspi/07-coffee
python3 train-mnist1.py --data_dir=/tmp/tensorflow/mnist/input_data/ --log_dir=/var/www/html/tensorflow/models/

画面はこんな感じ。ソースコードに興味がある方は上記リポジトリから参照してください。

Screen Shot 2017-08-27 at 8.30.56.png

kerasの構築済みモデルを試してみる

まずはインストールとサンプルプログラムのダウンロード。

sudo pip3 install keras h5py
curl -O https://raw.githubusercontent.com/asataniAIR/Image_DL_Tutorial/master/VGG/VGG16_Demo.py

引数に画像を指定すると、それが何であるかを類推してくれます。簡単!

$ python3 VGG16_Demo.py sample.jpg
Using TensorFlow backend.
:
中略
:
('n03947888', 'pirate', 0.98744524)
('n04147183', 'schooner', 0.010494102)
('n04606251', 'wreck', 0.0010530388)
('n03240683', 'drilling_platform', 0.00052914425)
('n03344393', 'fireboat', 0.00010963867)

その他

(あんまり詳細まで踏み込めなかったキーワード)

  • Softmax regression?
  • ML Engine?
  • Tensorboard?

関連リンク

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3