Keras: CNN画像分類 (クラスの可視化)
プログラミング
# -*- 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])
参照
- Keras Documenttion - Applications
- Francois Chollet (2018)PythonとKerasによるディープラーニング, マイナビ出版
- 太田満久, 須藤広大, 黒澤匠雅, 小田大輔 (2018) TensorFlow開発入門 Kerasによる深層学習モデル構築手法, 翔泳社
- サンプル画像: Pelican lakes entrance02