婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺談Keras中fit()和fit_generator()的區別及其參數的坑

淺談Keras中fit()和fit_generator()的區別及其參數的坑

熱門標簽:白銀外呼系統 唐山智能外呼系統一般多少錢 海南400電話如何申請 騰訊外呼線路 激戰2地圖標注 廣告地圖標注app 公司電話機器人 陜西金融外呼系統 哈爾濱ai外呼系統定制

1、fit和fit_generator的區別

首先Keras中的fit()函數傳入的x_train和y_train是被完整的加載進內存的,當然用起來很方便,但是如果我們數據量很大,那么是不可能將所有數據載入內存的,必將導致內存泄漏,這時候我們可以用fit_generator函數來進行訓練。

下面是fit傳參的例子:

history = model.fit(x_train, y_train, epochs=10,batch_size=32, 
                    validation_split=0.2)

這里需要給出epochs和batch_size,epoch是這個數據集要被輪多少次,batch_size是指這個數據集被分成多少個batch進行處理。

最后可以給出交叉驗證集的大小,這里的0.2是指在訓練集上占比20%。

fit_generator函數必須傳入一個生成器,我們的訓練數據也是通過生成器產生的,下面給出一個簡單的生成器函數:

batch_size = 128
def generator():
    while 1:
        row = np.random.randint(0,len(x_train),size=batch_size)
        x = np.zeros((batch_size,x_train.shape[-1]))
        y = np.zeros((batch_size,))
        x = x_train[row]
        y = y_train[row]
        yield x,y

這里的生成器函數我產生的是一個batch_size為128大小的數據,這只是一個demo。如果我在生成器里沒有規定batch_size的大小,就是每次產生一個數據,那么在用fit_generator時候里面的參數steps_per_epoch是不一樣的。

這里的坑我困惑了好久,雖然不是什么大問題

下面是fit_generator函數的傳參:

history = model.fit_generator(generator(),epochs=epochs,steps_per_epoch=len(x_train)//(batch_size*epochs))

2、batch_size和steps_per_epoch的區別

首先batch_size = 數據集大小/steps_per_epoch的,如果我們在生成函數里設置了batch_size的大小,那么在fit_generator傳參的時候,,steps_per_epoch=len(x_train)//(batch_size*epochs)

我得完整demo代碼:

from keras.datasets import imdb
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential
from keras import layers
import numpy as np
import random
from sklearn.metrics import f1_score,accuracy_score
max_features = 10000
maxlen = 500
batch_size = 32
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
x_train = pad_sequences(x_train,maxlen=maxlen)
x_test = pad_sequences(x_test,maxlen=maxlen)
 
def generator():
    while 1:
        row = np.random.randint(0,len(x_train),size=batch_size)
        x = np.zeros((batch_size,x_train.shape[-1]))
        y = np.zeros((batch_size,))
        x = x_train[row]
        y = y_train[row]
        yield x,y
# generator()
 
model = Sequential()
model.add(layers.Embedding(max_features,32,input_length=maxlen))
model.add(layers.GRU(64,return_sequences=True))
model.add(layers.GRU(32))
# model.add(layers.Flatten())
# model.add(layers.Dense(32,activation='relu'))
 
model.add(layers.Dense(1,activation='sigmoid'))
model.compile(optimizer='rmsprop',loss='binary_crossentropy',metrics=['acc'])
print(model.summary())
 
# history = model.fit(x_train, y_train, epochs=1,batch_size=32, validation_split=0.2)
history = model.fit_generator(generator(),epochs=1,steps_per_epoch=len(x_train)//(batch_size)) 
 
print(model.evaluate(x_test,y_test))
y = model.predict_classes(x_test) 
print(accuracy_score(y_test,y))

補充:model.fit_generator()詳細解讀

如下所示:

from keras import models
model = models.Sequential()

首先

利用keras,搭建順序模型,具體搭建步驟省略。完成搭建后,我們需要將數據送入模型進行訓練,送入數據的方式有很多種,models.fit_generator()是其中一種方式。

具體說,model.fit_generator()是利用生成器,分批次向模型送入數據的方式,可以有效節省單次內存的消耗。

具體函數形式如下:

fit_generator(self, generator, steps_per_epoch, epochs=1, verbose=1, \

callbacks=None, validation_data=None, validation_steps=None,\

 class_weight=None, max_q_size=10, workers=1, pickle_safe=False, initial_epoch=0)

參數解釋:

generator:一般是一個生成器函數;

steps_per_epochs:是指在每個epoch中生成器執行生成數據的次數,若設定steps_per_epochs=100,這情況如下圖所示;

epochs:指訓練過程中需要迭代的次數;

verbose:默認值為1,是指在訓練過程中日志的顯示模式,取 1 時表示“進度條模式”,取2時表示“每輪一行”,取0時表示“安靜模式”;

validation_data, validation_steps指驗證集的情況,使用方式和generator, steps_per_epoch相同;

models.fit_generator()會返回一個history對象,history.history 屬性記錄訓練過程中,連續 epoch 訓練損失和評估值,以及驗證集損失和評估值,可以通過以下方式調取這些值!

acc = history.history["acc"]
val_acc = history.history["val_acc"]
loss = history.history["loss"]
val_loss = history.history["val_loss"]

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • keras修改backend的簡單方法
  • keras的get_value運行越來越慢的解決方案
  • 基于keras中訓練數據的幾種方式對比(fit和fit_generator)
  • Keras保存模型并載入模型繼續訓練的實現
  • TensorFlow2.0使用keras訓練模型的實現
  • tensorflow2.0教程之Keras快速入門
  • 淺析關于Keras的安裝(pycharm)和初步理解
  • 基于Keras的擴展性使用

標簽:黔西 四川 黑龍江 上海 常德 鷹潭 惠州 益陽

巨人網絡通訊聲明:本文標題《淺談Keras中fit()和fit_generator()的區別及其參數的坑》,本文關鍵詞  淺談,Keras,中,fit,和,generator,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談Keras中fit()和fit_generator()的區別及其參數的坑》相關的同類信息!
  • 本頁收集關于淺談Keras中fit()和fit_generator()的區別及其參數的坑的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品三级久久久久三级| 亚洲欧美另类久久久精品| 一本一道波多野结衣一区二区| 亚洲一区二区在线播放相泽 | 国产欧美日韩另类一区| 亚洲国产aⅴ天堂久久| 国产酒店精品激情| 欧美揉bbbbb揉bbbbb| 国产精品超碰97尤物18| 成人免费视频视频在线观看免费 | 欧美日韩国产a| 亚洲欧洲精品天堂一级| 99精品一区二区三区| 精品免费一区二区三区| 蓝色福利精品导航| 精品久久久久久最新网址| 久久国产日韩欧美精品| 亚洲国产精品精华液2区45| 国产成a人亚洲精| 一级日本不卡的影视| 欧美日韩国产一二三| 麻豆精品一二三| 成人午夜视频免费看| 国产精品久久久久久久久免费樱桃| 国产精品白丝av| 亚洲少妇30p| 在线不卡免费欧美| 国产精品1024| 亚洲综合免费观看高清完整版在线| 欧美成人精品福利| 亚洲综合无码一区二区| 欧美一区二区三区四区在线观看 | 亚洲一区二区美女| 欧美精品日韩一本| 国产一区二区不卡老阿姨| 国产精品全国免费观看高清| 欧美日韩另类一区| 国产精品123区| 日韩国产成人精品| 久久久久久麻豆| 在线观看视频一区二区 | 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲精品成人久久奇米网| 欧美一级片在线看| 国产suv一区二区三区88区| 亚洲欧美日韩一区二区三区在线观看| 日韩欧美久久久| 91香蕉视频黄| 国产精品一区二区x88av| 性做久久久久久久久| 久久精品一区蜜桃臀影院| 91黄视频在线| 国产一区二区女| 天堂va蜜桃一区二区三区| 久久久久久久综合| 91精品免费在线| 欧美系列亚洲系列| 国内精品伊人久久久久av一坑| 国产清纯白嫩初高生在线观看91| 91国偷自产一区二区三区观看| 国产精品一区二区三区网站| 午夜激情一区二区三区| 国产精品久久久久久一区二区三区 | 中文字幕国产一区| 欧美一级精品在线| 97久久超碰国产精品| 国产一区二区三区不卡在线观看| 亚瑟在线精品视频| 一区二区在线免费观看| 亚洲三级在线免费观看| 亚洲免费观看高清完整版在线| 国产精品亲子乱子伦xxxx裸| 亚洲午夜一区二区三区| 国产精品免费看片| 中文字幕一区二区三区乱码在线| 久久久91精品国产一区二区精品 | 亚洲一区二区三区免费视频| 亚洲一区二区三区在线| 亚洲欧美日韩在线| 亚洲综合视频在线| 日韩精品电影一区亚洲| 久久国产生活片100| 国内精品视频666| 成人午夜激情影院| 99国产精品视频免费观看| 成人激情免费视频| www.日韩av| 波多野结衣在线一区| 国产精品 欧美精品| 国产成人在线影院| 在线观看成人免费视频| 日韩视频一区二区三区在线播放| 欧美日韩一区二区三区免费看| 色国产综合视频| 3atv一区二区三区| 欧美国产日产图区| 亚洲精品久久嫩草网站秘色| 一区二区三区四区视频精品免费 | 精品成人a区在线观看| 久久精品一区二区三区不卡 | 欧美一区二区三区视频免费| 9191精品国产综合久久久久久| 精品久久久久久久久久久院品网| 日韩一区在线播放| 亚洲美女视频在线观看| 国内精品国产成人国产三级粉色| hitomi一区二区三区精品| 欧美日韩电影一区| 337p日本欧洲亚洲大胆色噜噜| 久久久噜噜噜久久人人看| 亚洲第一精品在线| k8久久久一区二区三区| 日韩亚洲欧美高清| 亚洲国产婷婷综合在线精品| 国产九色sp调教91| 91精品国产欧美一区二区| 亚洲精品老司机| av一二三不卡影片| 久久亚洲捆绑美女| 秋霞影院一区二区| 色屁屁一区二区| 国产精品美女久久久久久2018 | 亚洲国产精品久久久久秋霞影院| 午夜精品久久久久久久 | av网站免费线看精品| 日本久久一区二区三区| 欧美片网站yy| 久久久久99精品国产片| 亚洲国产精品视频| 亚洲视频每日更新| 欧美国产欧美综合| 午夜成人免费视频| 欧美日韩中字一区| 国产三级一区二区| 蜜乳av一区二区| 欧美中文字幕亚洲一区二区va在线| 免费在线看成人av| 成人免费视频视频| 色欧美片视频在线观看| 国产精品视频在线看| 蜜臀久久99精品久久久久久9 | 成人看片黄a免费看在线| 欧美成人精品高清在线播放 | 制服丝袜成人动漫| 亚洲第四色夜色| 在线观看亚洲a| 亚洲国产精品一区二区www| 欧美日韩在线电影| 亚洲福利国产精品| 欧美亚洲自拍偷拍| 亚洲一区二区三区中文字幕 | 偷拍亚洲欧洲综合| 色8久久精品久久久久久蜜| 亚洲老妇xxxxxx| 色噜噜狠狠色综合欧洲selulu| 亚洲手机成人高清视频| 97se亚洲国产综合自在线不卡 | 中文久久乱码一区二区| 亚洲1区2区3区4区| 91精品国产色综合久久不卡电影 | 国产亚洲精品超碰| 成人免费观看av| 亚洲国产精品久久不卡毛片| 欧美一区二区在线免费观看| 久久超碰97人人做人人爱| 国产精品全国免费观看高清| 欧美性猛片aaaaaaa做受| 五月婷婷综合激情| 国产偷v国产偷v亚洲高清| 色播五月激情综合网| 日日夜夜精品视频免费| 久久久99久久| 欧美日韩在线三区| 国产美女久久久久| 亚洲一区二区三区四区中文字幕| 精品久久久久久综合日本欧美| 99久久婷婷国产综合精品| 五月天精品一区二区三区| 久久先锋资源网| 色综合夜色一区| 国产一区二区调教| 亚洲精选视频在线| 精品奇米国产一区二区三区| 91国产免费观看| 成人在线视频一区二区| 午夜精品福利久久久| 中文字幕在线不卡一区| 亚洲精品一区二区精华| 欧美人牲a欧美精品| 99久久伊人精品| 国产成人午夜精品影院观看视频 | 一区二区在线免费| 久久综合五月天婷婷伊人| 欧美在线免费视屏| 国产99久久久精品| 麻豆91在线观看| 午夜精品一区二区三区三上悠亚| 欧美韩日一区二区三区四区| 欧美一级片在线观看| 欧美日韩在线观看一区二区|