Python keras NN 100%确信我所有的照片都是一流的
我用keras做了这个神经网络,它的准确率一点也不高,大约是60%。问题是,当我尝试用数据集测试我的网络时,我得到了一个网络,它超级确保所有图像都在第一类中。我的项目有3类n,b和v代表正常,细菌和病毒。我测试的图片都在B类中,所以我想知道我是否在预测代码上犯了错误,使我的nn确信所有图片都在n类中Python keras NN 100%确信我所有的照片都是一流的,python,keras,Python,Keras,我用keras做了这个神经网络,它的准确率一点也不高,大约是60%。问题是,当我尝试用数据集测试我的网络时,我得到了一个网络,它超级确保所有图像都在第一类中。我的项目有3类n,b和v代表正常,细菌和病毒。我测试的图片都在B类中,所以我想知道我是否在预测代码上犯了错误,使我的nn确信所有图片都在n类中 import cv2 import tensorflow as tf from IPython.display import Image CATEGORIES = ["normale&q
import cv2
import tensorflow as tf
from IPython.display import Image
CATEGORIES = ["normale", "batterico","virus"]
def scan(semipath,campioni: int):
cb = 0
cn = 0
cv = 0
for i in range(1,campioni):
cpath = path + semipath +'.'+ str(i) + '.jpeg'
print(cpath)
#prep_array = prepare(cpath)
imgp = keras.preprocessing.image.load_img(cpath, target_size=(224, 224, 3))
img_array = keras.preprocessing.image.img_to_array(imgp)
img_array = tf.expand_dims(img_array, 0)
prediction = model.predict(img_array)
print(prediction)
pn = prediction[0][0]
pb = prediction[0][1]
pv = prediction[0][2]
if pn>pb and pn>pv:
cn = cn +1
if pb>pn and pb>pv:
cb = cb +1
if pv>pb and pv>pn:
cv = cv +1
print('res:pn:'+str(pn)+' pb:'+str(pb)+' pv:'+str(pv))
print(str(campioni)+' immagini '+semipath+':'+str(cn)+' classificate come normali,'+str(cb)+' classificate come batteriche,'+str(cn)+' classificate come virali')
return none
nuovo_model = keras.models.load_model('D:/tf/modelSaved')
model = nuovo_model
print('esempio percorso: D:/tf/archive/chest_xray/test/virus.54.jpeg')
modei = input("modalità da usare: a- automatica, m - manuale:")
if modei == 'm':
[...]
elif modei == 'a':
path = 'D:/tf/NeoArchiveBilanciato/test/'
print('automatica:')
nb = 242 #numero immagini di questa categoria
nn = 234 #numero immagini di questa categoria
nv = 148 #numero immagini di questa categoria
scan('bacteria',nb)
scan('bacteria',nn)
scan('bacteria',nv)