<jupyter_start><jupyter_text>学習済みモデルを使用して画像認識 - 任意の画像 1.jpegを同ディレクトリへ配置すること日本語変換のネタ元は以下  https://github.com/starpentagon/python_scripts/blob/master/dataset/ILSVRC2012_class_name/ILSVRC2012_class_name.csv<jupyter_code># モデル読み込み
 
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions
from keras.preprocessing.image import img_to_array, load_img
import numpy as np
 
### VGG16学習済みモデルの読み込み
model = VGG16(include_top=True, weights='imagenet', input_shape=None)
model.summary() 
import pandas as pd
# 日本語変換用
# https://github.com/starpentagon/python_scripts/blob/master/dataset/ILSVRC2012_class_name/ILSVRC2012_class_name.csv
data = pd.read_csv( 'classconvert.tsv', delimiter='\t', header=None )
# print(data[0])

dict = {}
for i in range(1000):
    dict[data[0][i]] = data[1][i]
print("test" in dict)

x = []
# 任意の画像
filepath = "1.jpeg"
img = img_to_array(load_img(filepath, target_size=(224,224)))
x.append(img)
    
ary = np.asarray(x)
print('ary shape:', ary.shape)  ### ary shape チェック
 
### 上位5位まで認識　
preds = model.predict(preprocess_input(ary))
results = decode_predictions(preds, top=5)[0]
for result in results:
    classname = result[1]
    # 変換可能なら日本語に変換
    if classname in dict:
        classname = dict[classname]
    print("{0} {1}".format(classname, result[2]))
#     print()<jupyter_output>False
ary shape: (1, 224, 224, 3)
リモコン 0.3071271479129791
無線 0.21216675639152527
デスクトップコンピューター 0.09765885025262833
キーボード 0.08585148304700851
モデム 0.03181299939751625
{'fraction_non_alphanumeric': 0.12608987256874582, 'fraction_numerical': 0.09590878604963111, 'mean_word_length': 5.781818181818182, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '331871', 'license': 'MIT', 'n_tokens_mistral': 762, 'n_tokens_neox': 672, 'n_words': 103, 'path': '06_vgg16/reognition.ipynb', 'repo_name': 'ninomae-makoto/keras', 'size': '1491'}