TensorFlow

2016年6月22日 - 未分類

今、急激に流行りになった、深層学習をやってみようということで、GoogleのTensorFlowを使ってディプラーニング・ニューラルネットを使ってみました。

ニューラルネットは、1986年頃に、誤差逆伝搬法が流行った頃に、画像認識に使ったことがあります。その頃は、コンピュータパワーが貧弱だったので、画像の輪郭を抽出して、位置やスケールに不変な特徴パラメータを3層ニューラルネットに学習させて、識別させていました。

昨今、学習アルゴリズムの改良やコンピュータパワーの増加で、できることが増えてきました。画像認識では、人間並みの精度が出せるようになったし、囲碁でもチャンピオンを負かせるようになってきました。しかしながら、1986年時代でも問題であった、「何を学習しているのか分からない」という問題が解決されていません。何かを学習して、なんとなく上手くやってくれるから使える、といった程度でしょうか。

Googleが公開した、TensorFlow(テンソルフロー)は、テンソル(多重配列の集合のようなもの)を上手く処理するフレームワークです。PythonとC++で使えます。MacとUbuntuで使えますが、Windowsでは苦労するようです。

先ずは、TensorFlowをインストールしてチュートリアルを実行してみましょう。MacOSXで実行します。

# python バージョン確認

$ python —version

Python 2.7.10

TensorFlowは、バーチャル環境で使うのが良いみたいです。

# virtualenvのインストール

$ easy_install pip

$ pip install virtualenv

 

# virtualenv環境の作成

$ mkdir ~/tensorflow

$ virtualenv -—system-site-packages ~/tensorflow

 

# 作成したvirtualenv環境にはいる

$ cd ~/tensorflow

$ source ~/tensorflow/bin/activate

 

# TensorFlowのインストール

(tensorflow)$ pip install —upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

# iPython notebook

pip install python notebook

これを使うと、Mathmaticaのように使えるようになり、便利です。

(tensorflow) $ python notebook

# チュートリアルのダウンロード

$ git clone https://github.com/tensorflow/tensorflow
かなり充実したチュートリアルになっている。

# OpenCVのインストール

OpenCVが上手くインストールできずに苦労しましたが、以下のようにやれば使えるようになります。

>brew install opencv

#pythonで使う場合

$ pip install pyopencv

collecting pyopencv

Could not find a version that satisfies the requirement pyopencv (from versions: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1.0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0)

No matching distribution found for pyopencv

$ pip install pyopencv==2.1.0.wr1.2.0

# virtual environmentフォルダーにopencvのリンクをはるとアクセスできる

$ ln -s  /usr/local/lib/python2.7/site-packages/cv* ~/tensorflow/lib/python2.7/site-packages/

 

Translate »