トップページ情報工学を学ぶ人工知能の実行,Python プログラム (Windows 上)VGG16 による画像分類(Keras, TensorFlow, ImageNet で学習済みのVGG16, Python を使用)(Windows 上)

VGG16 による画像分類(Keras, TensorFlow, ImageNet で学習済みのVGG16, Python を使用)(Windows 上)

VGG16 による画像分類を行う.

Keras の公式ドキュメント: https://keras.io/ja/applications/

  1. KerasImageNet を用いて学習(訓練)済みのVGG16を使用.
    from keras.applications.vgg16 import VGG16
    m = VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None)
    

    [image]

    [image]
  2. モデルのレイヤの表示
    m.summary() 
    

    [image]
  3. カレントディレクトリの確認

    [image]
  4. .png 形式のファイルを探してください。

    人物ではなくて、 「風船」や「いちご」など、人工物、動物、植物がいいです.

  5. カレントディレクトリに「a.png」という名前で保存
  6. プログラムを実行。分類結果が表示される。

    ※ 上に書いたように、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)
    

    [image]