ich habe ein Programm geschrieben das mit Hilfe von keras hunde und katzen unterscheidet.
Im ersten Programm wird die KI trainiert.
Im zweiten lasse ich es anhand eines Testbildes vorhersagen was es ist:
Code: Alles auswählen
import os
import numpy as np
from keras.models import Sequential
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.preprocessing.image import ImageDataGenerator
from keras.layers import Convolution2D, MaxPooling2D, ZeroPadding2D
from keras import optimizers
from keras.preprocessing import image
try:
img_width, img_height = 150, 150
model = Sequential()
model.add(Convolution2D(32, 3, 3, input_shape=(img_width, img_height,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(64, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.load_weights('C:/Users/Tobias_Arbeit/Desktop/test/test.h5')
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
img = image.load_img("C:/Users/Tobias_Arbeit/Desktop/79.jpg", target_size=(img_width,img_height))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
images = np.vstack([x])
prediction = model.predict_classes(images, batch_size=10)
if(prediction==1):
print("Hund")
if(prediction==0):
print("Katze")
x = input("")
except Exception as e:
print(e)
x = input("ERRORRRRRRR")
Wie kann ich die genauigkeit, also accurasy, loss wert e.t.c anzeigen lassen?