前提・実現したいこと
2つのサイトを見ながら画像認識のプログラムを作っています
https://qiita.com/tomo_20180402/items/e8c55bdca648f4877188
https://qiita.com/kojikoji_ksnv/items/12dfe9075cb1dd3afe59
主に猫の方を参考にしているのですが、同じコードを書いても出力結果で画像が出ません。原因がわかる方教えて下さい
該当のソースコード
python
1from keras import layers, models,optimizers 2 3from PIL import Image 4import os, glob 5import numpy as np 6import random, math 7import matplotlib.pyplot as plt 8from keras.utils import np_utils 9 10 11model = models.Sequential() 12model.add(layers.Conv2D(32,(3,3),activation="relu", 13input_shape=(150,150,3))) 14model.add(layers.MaxPooling2D((2,2))) 15model.add(layers.Conv2D(64,(3,3),activation="relu")) 16model.add(layers.MaxPooling2D((2,2))) 17model.add(layers.Conv2D(128,(3,3),activation="relu")) 18model.add(layers.MaxPooling2D((2,2))) 19model.add(layers.Conv2D(128,(3,3),activation="relu")) 20model.add(layers.MaxPooling2D((2,2))) 21model.add(layers.Flatten()) 22model.add(layers.Dense(512,activation="relu")) 23#ここの「7」は判別する画像の種類数 24model.add(layers.Dense(7,activation="sigmoid")) 25model.compile(loss='categorical_crossentropy',optimizer='adadelta', 26metrics=['accuracy']) 27#保存した画像データ 28X_train, X_test, y_train, y_test = np.load( 29 "E:\python\monster_data.npy",allow_pickle=True) 30 31nb_classes = 7 32 33#データの正規化 34X_train = X_train.astype("float") / 255 35X_test = X_test.astype("float") / 255 36 37#kerasで扱えるようにcategoriesをベクトルに変換 38y_train = np_utils.to_categorical(y_train, nb_classes) 39y_test = np_utils.to_categorical(y_test, nb_classes) 40 41History = model.fit(X_train,y_train,epochs=10,batch_size=6 42,validation_data=(X_test,y_test)) 43score = model.model.evaluate(x=X_test,y=y_test) 44 45 46print("loss=", score[0]) 47print("accuracy=", score[1]) 48 49# データの可視化(テストデータの先頭の5枚) 50for i in range(5): 51 plt.subplot(2, 5, i+1) 52 plt.imshow(X_test[i], 'gray') 53 54# 予測(テストデータの先頭の5枚) 55pred = np.argmax(model.predict(X_test[0:5]), axis=1) 56print(pred)
補足情報(FW/ツールのバージョンなど)
python 3.6.12
vsc 1.52.1
あなたの回答
tips
プレビュー