#はじめに
Deep LearningのライブラリにはTensorflow, Chainer, Caffeなどありますが、導入するのは少し面倒。そこで簡単にインストールできて、お手軽に使えるライブラリがないかと思っていたところ、こちらのサイトでDarknetの存在を知りました。このDarknetを使えば、リアルタイムオブジェクト認識、画像分類、GoogleのDeep Dreamのような画像加工、RNN(Recurrent Neural Network)、AlphaGoのような囲碁などが試せます。
#Darknetのインストール方法
インストール方法は、とても簡単。公式サイトにもインストール手順が載っています。私は、Ubuntuにインストールしました。
① githubからクローンする
$ git clone https://github.com/pjreddie/darknet.git
② darknetのディレクトリができるのでそこに移動
$ cd darknet
③ makeする
$ make
たったこれだけ!本当に簡単です。デフォルトではCPUのみを使用するようになっているため、GPUを使いたい場合は、Makefileの頭の設定をGPU=0からGPU=1に書き換えてmakeすれば良いそうです。
GPU=0
CUDNN=0
OPENCV=0
DEBUG=0
#オブジェクト認識
Darknetの開発者はYOLOというリアルタイムオブジェクト認識アルゴリズムの開発者でもあり、学習済みのYOLOをダウンロードしてすぐに使えます。試しに、静止画のオブジェクト認識をしてみます。
① YOLOをダウンロード
$ wget http://pjreddie.com/media/files/yolo.weights
② 実行
$ ./darknet yolo test cfg/yolo.cfg yolo.weights data/dog.jpg
実行すると、以下のようにオブジェクト検出して分類してくれます。
(data/dog.jpgとdata/horses.pngの実行結果)
cfg/yolo.cfgに、ネットワーク構成が書かれています。
#参考サイト
http://ch.nicovideo.jp/akiba-cyberspacecowboys/blomaga/ar1116319
http://pjreddie.com/darknet/