2017年6月22日木曜日

Keras 上で VGG16 を使用して分類を試してみた。(I tried classification using VGG 16 on Keras.)

kaggle_cat 特に意味はない

はじめに

kerasの環境構築ができたので、指定したファイルのクラスを分類できるかを確認してみた。
今回、 "KerasでVGG16を使う" を参考にさせていただいた。

使用した環境
ubuntu            16.04.2
cuda            8.0.61
cudnn            5.1.10
TensorFlow-gpu     1.2.0
keras            2.0.5

変更点

実行に当たっては、 jupyter notebook を使用しているため、オリジナルから2点修正している

1 ファイル名は引数ではなく、直接埋め込み
    filename = "cat001.jpg"

2 日本語注釈に対応するため、utf-8 用の宣言を冒頭に挿入
    # -*- coding: utf-8 -*- 

さらに、結果に関しては、ラベル名と確率を整えて表示している。
    print result[1], "{0:.3f}".format(result[2])

結果

比較対象としてDarknet-GPUの結果を合わせ記載しておく

p27.png
kares
  king_penguin         1.000
  goose             0.000
  American_coot     0.000
  albatross         0.000
  black_swan         0.000

darknet
  99.99%: king penguin
  0.00%: killer whale
  0.00%: drake
  0.00%: toucan
  0.00%: magpie


p5.png

keras
  vacuum             0.163
  chain_saw         0.094
  parking_meter     0.094
  totem_pole         0.089
  space_shuttle     0.073

darknet
  7.67%: projector
  7.03%: paper towel
  4.99%: barbell
  4.00%: vacuum
  3.21%: loudspeaker

メモ

最初の実行時にVGG16のモデルデータが自動的にダウンロードされる。
 格納場所は、 ~/.keras/models の下

 ファイル名は、
 vgg16_weights_tf_dim_ordering_tf_kernels.h5

0 件のコメント:

コメントを投稿