欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測(cè)值全為0.0的問(wèn)題)

 更新時(shí)間:2020年07月07日 09:53:06   作者:qq_42972774  
這篇文章主要介紹了Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測(cè)值全為0.0的問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

終于構(gòu)建出了第一個(gè)神經(jīng)網(wǎng)絡(luò),Keras真的很方便。

之前不知道Keras這么方便,在構(gòu)建神經(jīng)網(wǎng)絡(luò)的過(guò)程中繞了很多彎路,最開(kāi)始學(xué)的TensorFlow,后來(lái)才知道Keras。

TensorFlow和Keras的關(guān)系,就像c語(yǔ)言和python的關(guān)系,所以Keras是真的好用。

搞不清楚數(shù)據(jù)的標(biāo)準(zhǔn)化和歸一化的關(guān)系,想對(duì)原始數(shù)據(jù)做歸一化,卻誤把數(shù)據(jù)做了標(biāo)準(zhǔn)化,導(dǎo)致用model.predict預(yù)測(cè)出來(lái)的值全是0.0,在網(wǎng)上搜了好久但是沒(méi)搜到答案,后來(lái)自己又把程序讀了一遍,突然靈光一現(xiàn)好像是數(shù)據(jù)歸一化出了問(wèn)題,于是把數(shù)據(jù)預(yù)處理部分的標(biāo)準(zhǔn)化改成了歸一化,修改過(guò)來(lái)之后才能正常預(yù)測(cè)出來(lái)值,才得到應(yīng)有的數(shù)據(jù)趨勢(shì)。

標(biāo)準(zhǔn)化:

(x-mean(x))/std(x) 這是使用z-score方法規(guī)范化

歸一化:

(x-min(x))/(max(x)-min(x)) 這是常用的最小最大規(guī)范化方法

補(bǔ)充知識(shí):keras加載已經(jīng)訓(xùn)練好的模型文件,進(jìn)行預(yù)測(cè)時(shí)卻發(fā)現(xiàn)預(yù)測(cè)結(jié)果幾乎為同一類(本人預(yù)測(cè)時(shí)幾乎均為為第0類)**

原因:在進(jìn)行keras訓(xùn)練時(shí)候,使用了keras內(nèi)置的數(shù)據(jù)讀取方式,但是在進(jìn)行預(yù)測(cè)時(shí)候,使用了自定義的數(shù)據(jù)讀取方式,本人為圖片讀取。

解決辦法查看如下代碼:

##############訓(xùn)練:
train_gen = ImageDataGenerator(rotation_range=10,
    width_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    fill_mode='constant',
    cval=0)
train_generator = train_gen.flow_from_directory(train_path,
      target_size=(224, 224),
      batch_size=16,
      class_mode='categorical',
      save_to_dir=train_g,
      save_prefix='man',
      save_format='jpg')

#############預(yù)測(cè)
img = cv2.imread(img_path)
img = cv2.resize(img, (row, col))
img = np.expands(img, axis=0)
out = model.predict(img)
# 上述方法是不行的,仔細(xì)查看keras內(nèi)置讀取方式,可以觀察到內(nèi)置了load_img方式
# 因此,我們?cè)陬A(yù)測(cè)時(shí)候,將讀取圖片的方式改為
from keras.preprocessing.image import load_img, img_to_array
img = load_img(img_path)
img = img_to_array(img, target_size=(row, col))
img = np.expands(img, axis=0)
out = model.predict(img)

注:本文意在說(shuō)明 對(duì)訓(xùn)練數(shù)據(jù)和預(yù)測(cè)數(shù)據(jù)的讀取、預(yù)處理方式上應(yīng)該在某種程度上保持一致,從而避免訓(xùn)練結(jié)果和真實(shí)預(yù)測(cè)結(jié)果相差過(guò)大的情況。

以上這篇Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測(cè)值全為0.0的問(wèn)題)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論