VGG16 による画像分類(Keras, TensorFlow, ImageNet で学習済みのVGG16, Python を使用)(Windows 上)
VGG16 による画像分類を行う.
Keras の公式ドキュメント: https://keras.io/ja/applications/
- Keras のImageNet を用いて学習(訓練)済みのVGG16を使用.
from keras.applications.vgg16 import VGG16 m = VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None)
- モデルのレイヤの表示
m.summary()
- カレントディレクトリの確認
- .png 形式のファイルを探してください。
人物ではなくて、 「風船」や「いちご」など、人工物、動物、植物がいいです.
- カレントディレクトリに「a.png」という名前で保存
- プログラムを実行。分類結果が表示される。
* 上に書いたように、VGG16 に、「ImageNet を用いて学習(訓練)済み」のニューラルネットのデータをダウンロードして使用している
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions from tensorflow.keras.preprocessing import image import numpy as np import sys rgb = image.load_img('a.png', target_size=(224, 224)) x = image.img_to_array(rgb) x = np.expand_dims(x, axis=0) preds = model.predict(preprocess_input(x)) results = decode_predictions(preds, top=5)[0] for result in results: print(result)