TensorFlowを触ってみる

パッケージ開発担当のよみです。

少し会社から離れている間に10キロ近く体重が増えました。
ここまでくると、何をやるにも違和感がすごいです。。。
と言いつつなーなーな生活を送っています。

会社から離れている間に機械学習に触れることがあって、少し興味を持ちました。
ということで機械学習のためのオープンソースソフトウェアライブラリTensorFlowを触っていこうと思います。

Anaconda

なにはともあれPython。今回は色々オールインワンで入ってる「Anaconda」を使用します。

Anaconda」から自分の環境にあったモノをダウンロードしてください。
anaconda
※インストール先はパスに日本語が無い位置にしたほうがいいかもしれません

インストールが完了したら仮想環境を作成するので以下の画像のように作成してください。
(Python3.6も使えるみたいなのでそのまま作成します)
top
python

TensorFlow

先ほど作成した仮想環境にTensorFlowを入れていきます。
仮想環境名の横の矢印をクリックすると表示される「Open Terminal」を選択して、起動してきたターミナルに以下のコマンドを入力してください。

pip install --ignore-installed --upgrade tensorflow 

TensorFlow

実際に動かしたい

とりあえず実際に動かしてみたいので、サンプルを使って動かしてみます。
ということでサンプルを取ってきます「classify_image.py」をダウンロードしてください。
sample

次に「TensorFlow」の項目で開いたターミナルを起動し以下を入力して、仮想環境を適用します。
※名前は仮想環境作成時に指定したものを使用してください

activate tensorflow

その後先ほどダウンロードしたファイルを指定し実行します。
特に引数を指定しないで実行すると、パンダの画像で識別を行うみたいです、なので何かしら画像を取ってきてやってみます。
nekohamita171027_TP_V4
※今回はフリーの猫画像でやってみました

python c:\Test\classify_image.py --image_file="c:\Test\cat.jpg"

tensorflowTest

tabby cat:ぶち猫(72%)
tiger cat:タイガーキャット(15%)
Egyptian cat:エジプシャンマウ(5%)
とか出ました。

すごいですね、ただ「猫だよ」くらいしか出ないと思っていたのですが、種類まで特定しようとしてますね。

最後に

今回は学習データとしてサンプル内で「ImageNet」を使用していましたが、ここを自分なりの学習データを使えば
色々できそうですね、ゲーム内の特殊な文字を画像から解読とかもできますね。。。
後は社内の人全員の顔を判別させるとかも面白いですね、なので次回は画像から特定の個所を抜き出したりできるOpenCVとか触ってみたいですね。