-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpredict_single.py
More file actions
60 lines (49 loc) · 1.98 KB
/
predict_single.py
File metadata and controls
60 lines (49 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Klassifizieren eines einzelnen Bilds auf Basis eines zuvor trainierten Modells
# Importe
import keras
from keras.models import load_model
from keras.models import Model
import numpy as np
import skimage.data
import skimage.transform
#from skimage.color import rgb2gray # Zu verwenden, wenn ein schwarz-weiss Modell und Farbbilder vorliegen
# Variablen initialisieren und deklarieren
img_cat_pred = 0
a = 0
v = 0
# Gespeichertes Modell mit Architektur und trainierten Gewichten und Tendenzen aus Datei laden
model = load_model('models/leaf_cnn_1540935811.hdf5')
model_bp = 64 # Angeben der in dem trainierten Modell verwendeten Dimensionen der Bilder
# Definieren des Bildes
img_cat = 3 # Kategorie des Bildes (wenn bekannt)
file = 'SCAN0141-Bearbeitet' # Dateiname des Bildes
filename = 'scan_clean/' + str(img_cat) + '/' + file + '.jpg'
#filename = 'variation01.jpg' # Alternatives Bild im Ordner des Skripts
print(filename)
# Oeffnen des Bildes
img = skimage.data.imread(filename)
# Anpassen der Dimensionen des Bildes wenn noetig
if img.shape != (model_bp,model_bp,3):
img = skimage.transform.resize(img, (model_bp, model_bp))
print(img.shape)
# Umwandeln des Bildes in ein Numpy Feld
img = [img]
img = np.array(img)
print(img.shape)
#img = np.reshape(img,[1,320,240,3])
#img = np.expand_dims(img, axis=0)# Noetig fuer schwarz-weiss Modell
#print(img.shape)
# Kategorie ermitteln und angeben
categories = model.predict(img)
print(categories)
# Maximale Aktivierung der Kategorie bestimmen
for a in range(len(categories[0])):
if categories[0][a]>v:
print(str(categories[0][a]) + '>' + str(v))
img_cat_pred = a
v = categories[0][a]
# Abgleichen der bestimmten Kategorie mit der richtigen Kategorie
if img_cat == img_cat_pred:
print('The predicted category ' + str(img_cat_pred) + ' is correct.')
else:
print('The predicted category ' + str(img_cat_pred) + ' does not match the actual category ' + str(img_cat) + '.')