Keras: CNN画像分類 (クラスの可視化)

Takami Torao Keras 2.2 TensorFlow 1.8 #Keras #TensorFlow #VGG16
  • このエントリーをはてなブックマークに追加

プログラミング

# -*- encoding: utf-8 -*-
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions
from keras.preprocessing import image
import numpy as np

def criterion(file):

  img = image.load_img(file, target_size=(224, 224))
  img = image.img_to_array(img)
  img = np.expand_dims(img, axis=0)
  img = preprocess_input(img)

  model = VGG16(weights="imagenet")

  probs = model.predict(img)
  print("PREDICT: ", decode_predictions(probs, top=3)[0])

  print(np.argmax(probs[0]))

if __name__ == "__main__":
  import sys, keras, tensorflow
  print("Python %s" % sys.version)
  print("Keras %s" % keras.__version__)
  print("TensorFlow %s" % tensorflow.__version__)

  criterion(sys.argv[1])

参照

  1. Keras Documenttion - Applications
  2. Francois Chollet (2018)PythonとKerasによるディープラーニング, マイナビ出版
  3. 太田満久, 須藤広大, 黒澤匠雅, 小田大輔 (2018) TensorFlow開発入門 Kerasによる深層学習モデル構築手法, 翔泳社
  4. サンプル画像: Pelican lakes entrance02 クリエイティブ・コモンズ・ライセンス