国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 在keras中model.fit_generator()和model.fit()的區(qū)別說(shuō)明

在keras中model.fit_generator()和model.fit()的區(qū)別說(shuō)明

2020-06-18 09:31Hodors Python

這篇文章主要介紹了在keras中model.fit_generator()和model.fit()的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

首先Keras中的fit()函數(shù)傳入的x_train和y_train是被完整的加載進(jìn)內(nèi)存的,當(dāng)然用起來(lái)很方便,但是如果我們數(shù)據(jù)量很大,那么是不可能將所有數(shù)據(jù)載入內(nèi)存的,必將導(dǎo)致內(nèi)存泄漏,這時(shí)候我們可以用fit_generator函數(shù)來(lái)進(jìn)行訓(xùn)練。

keras中文文檔

fit

fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

以給定數(shù)量的輪次(數(shù)據(jù)集上的迭代)訓(xùn)練模型。

參數(shù)

x: 訓(xùn)練數(shù)據(jù)的 Numpy 數(shù)組(如果模型只有一個(gè)輸入), 或者是 Numpy 數(shù)組的列表(如果模型有多個(gè)輸入)。 如果模型中的輸入層被命名,你也可以傳遞一個(gè)字典,將輸入層名稱(chēng)映射到 Numpy 數(shù)組。 如果從本地框架張量饋送(例如 TensorFlow 數(shù)據(jù)張量)數(shù)據(jù),x 可以是 None(默認(rèn))。

y: 目標(biāo)(標(biāo)簽)數(shù)據(jù)的 Numpy 數(shù)組(如果模型只有一個(gè)輸出), 或者是 Numpy 數(shù)組的列表(如果模型有多個(gè)輸出)。 如果模型中的輸出層被命名,你也可以傳遞一個(gè)字典,將輸出層名稱(chēng)映射到 Numpy 數(shù)組。 如果從本地框架張量饋送(例如 TensorFlow 數(shù)據(jù)張量)數(shù)據(jù),y 可以是 None(默認(rèn))。

batch_size: 整數(shù)或 None。每次梯度更新的樣本數(shù)。如果未指定,默認(rèn)為 32。

epochs: 整數(shù)。訓(xùn)練模型迭代輪次。一個(gè)輪次是在整個(gè) x 和 y 上的一輪迭代。 請(qǐng)注意,與 initial_epoch 一起,epochs 被理解為 「最終輪次」。模型并不是訓(xùn)練了 epochs 輪,而是到第 epochs 輪停止訓(xùn)練。

verbose: 0, 1 或 2。日志顯示模式。 0 = 安靜模式, 1 = 進(jìn)度條, 2 = 每輪一行。

callbacks: 一系列的 keras.callbacks.Callback 實(shí)例。一系列可以在訓(xùn)練時(shí)使用的回調(diào)函數(shù)。 詳見(jiàn) callbacks。

validation_split: 0 和 1 之間的浮點(diǎn)數(shù)。用作驗(yàn)證集的訓(xùn)練數(shù)據(jù)的比例。 模型將分出一部分不會(huì)被訓(xùn)練的驗(yàn)證數(shù)據(jù),并將在每一輪結(jié)束時(shí)評(píng)估這些驗(yàn)證數(shù)據(jù)的誤差和任何其他模型指標(biāo)。 驗(yàn)證數(shù)據(jù)是混洗之前 x 和y 數(shù)據(jù)的最后一部分樣本中。

validation_data: 元組 (x_val,y_val) 或元組 (x_val,y_val,val_sample_weights), 用來(lái)評(píng)估損失,以及在每輪結(jié)束時(shí)的任何模型度量指標(biāo)。 模型將不會(huì)在這個(gè)數(shù)據(jù)上進(jìn)行訓(xùn)練。這個(gè)參數(shù)會(huì)覆蓋 validation_split。

shuffle: 布爾值(是否在每輪迭代之前混洗數(shù)據(jù))或者 字符串 (batch)。 batch 是處理 HDF5 數(shù)據(jù)限制的特殊選項(xiàng),它對(duì)一個(gè) batch 內(nèi)部的數(shù)據(jù)進(jìn)行混洗。 當(dāng) steps_per_epoch 非 None 時(shí),這個(gè)參數(shù)無(wú)效。

class_weight: 可選的字典,用來(lái)映射類(lèi)索引(整數(shù))到權(quán)重(浮點(diǎn))值,用于加權(quán)損失函數(shù)(僅在訓(xùn)練期間)。 這可能有助于告訴模型 「更多關(guān)注」來(lái)自代表性不足的類(lèi)的樣本。

sample_weight: 訓(xùn)練樣本的可選 Numpy 權(quán)重?cái)?shù)組,用于對(duì)損失函數(shù)進(jìn)行加權(quán)(僅在訓(xùn)練期間)。 您可以傳遞與輸入樣本長(zhǎng)度相同的平坦(1D)Numpy 數(shù)組(權(quán)重和樣本之間的 1:1 映射), 或者在時(shí)序數(shù)據(jù)的情況下,可以傳遞尺寸為 (samples, sequence_length) 的 2D 數(shù)組,以對(duì)每個(gè)樣本的每個(gè)時(shí)間步施加不同的權(quán)重。 在這種情況下,你應(yīng)該確保在 compile() 中指定 sample_weight_mode="temporal"。

initial_epoch: 整數(shù)。開(kāi)始訓(xùn)練的輪次(有助于恢復(fù)之前的訓(xùn)練)。

steps_per_epoch: 整數(shù)或 None。 在聲明一個(gè)輪次完成并開(kāi)始下一個(gè)輪次之前的總步數(shù)(樣品批次)。 使用 TensorFlow 數(shù)據(jù)張量等輸入張量進(jìn)行訓(xùn)練時(shí),默認(rèn)值 None 等于數(shù)據(jù)集中樣本的數(shù)量除以 batch 的大小,如果無(wú)法確定,則為 1。

validation_steps: 只有在指定了 steps_per_epoch 時(shí)才有用。停止前要驗(yàn)證的總步數(shù)(批次樣本)。

返回

一個(gè) History 對(duì)象。其 History.history 屬性是連續(xù) epoch 訓(xùn)練損失和評(píng)估值,以及驗(yàn)證集損失和評(píng)估值的記錄(如果適用)。

異常

RuntimeError: 如果模型從未編譯。

ValueError: 在提供的輸入數(shù)據(jù)與模型期望的不匹配的情況下。

fit_generator

fit_generator(generator, steps_per_epoch=None, epochs=1, verbose=1, callbacks=None, validation_data=None, validation_steps=None, class_weight=None, max_queue_size=10, workers=1, use_multiprocessing=False, shuffle=True, initial_epoch=0)

使用 Python 生成器(或 Sequence 實(shí)例)逐批生成的數(shù)據(jù),按批次訓(xùn)練模型。

生成器與模型并行運(yùn)行,以提高效率。 例如,這可以讓你在 CPU 上對(duì)圖像進(jìn)行實(shí)時(shí)數(shù)據(jù)增強(qiáng),以在 GPU 上訓(xùn)練模型。

keras.utils.Sequence 的使用可以保證數(shù)據(jù)的順序, 以及當(dāng) use_multiprocessing=True 時(shí) ,保證每個(gè)輸入在每個(gè) epoch 只使用一次。

參數(shù)

generator: 一個(gè)生成器,或者一個(gè) Sequence (keras.utils.Sequence) 對(duì)象的實(shí)例, 以在使用多進(jìn)程時(shí)避免數(shù)據(jù)的重復(fù)。 生成器的輸出應(yīng)該為以下之一:

一個(gè) (inputs, targets) 元組

一個(gè) (inputs, targets, sample_weights) 元組。

這個(gè)元組(生成器的單個(gè)輸出)組成了單個(gè)的 batch。 因此,這個(gè)元組中的所有數(shù)組長(zhǎng)度必須相同(與這一個(gè) batch 的大小相等)。 不同的 batch 可能大小不同。 例如,一個(gè) epoch 的最后一個(gè) batch 往往比其他 batch 要小, 如果數(shù)據(jù)集的尺寸不能被 batch size 整除。 生成器將無(wú)限地在數(shù)據(jù)集上循環(huán)。當(dāng)運(yùn)行到第 steps_per_epoch 時(shí),記一個(gè) epoch 結(jié)束。

steps_per_epoch: 在聲明一個(gè) epoch 完成并開(kāi)始下一個(gè) epoch 之前從 generator 產(chǎn)生的總步數(shù)(批次樣本)。 它通常應(yīng)該等于你的數(shù)據(jù)集的樣本數(shù)量除以批量大小。 對(duì)于 Sequence,它是可選的:如果未指定,將使用len(generator) 作為步數(shù)。

epochs: 整數(shù)。訓(xùn)練模型的迭代總輪數(shù)。一個(gè) epoch 是對(duì)所提供的整個(gè)數(shù)據(jù)的一輪迭代,如 steps_per_epoch 所定義。注意,與 initial_epoch 一起使用,epoch 應(yīng)被理解為「最后一輪」。模型沒(méi)有經(jīng)歷由 epochs 給出的多次迭代的訓(xùn)練,而僅僅是直到達(dá)到索引 epoch 的輪次。

verbose: 0, 1 或 2。日志顯示模式。 0 = 安靜模式, 1 = 進(jìn)度條, 2 = 每輪一行。

callbacks: keras.callbacks.Callback 實(shí)例的列表。在訓(xùn)練時(shí)調(diào)用的一系列回調(diào)函數(shù)。

validation_data: 它可以是以下之一:

驗(yàn)證數(shù)據(jù)的生成器或 Sequence 實(shí)例

一個(gè) (inputs, targets) 元組

一個(gè) (inputs, targets, sample_weights) 元組。

在每個(gè) epoch 結(jié)束時(shí)評(píng)估損失和任何模型指標(biāo)。該模型不會(huì)對(duì)此數(shù)據(jù)進(jìn)行訓(xùn)練。

validation_steps: 僅當(dāng) validation_data 是一個(gè)生成器時(shí)才可用。 在停止前 generator 生成的總步數(shù)(樣本批數(shù))。 對(duì)于 Sequence,它是可選的:如果未指定,將使用 len(generator) 作為步數(shù)。

class_weight: 可選的將類(lèi)索引(整數(shù))映射到權(quán)重(浮點(diǎn))值的字典,用于加權(quán)損失函數(shù)(僅在訓(xùn)練期間)。 這可以用來(lái)告訴模型「更多地關(guān)注」來(lái)自代表性不足的類(lèi)的樣本。

max_queue_size: 整數(shù)。生成器隊(duì)列的最大尺寸。 如未指定,max_queue_size 將默認(rèn)為 10。

workers: 整數(shù)。使用的最大進(jìn)程數(shù)量,如果使用基于進(jìn)程的多線(xiàn)程。 如未指定,workers 將默認(rèn)為 1。如果為 0,將在主線(xiàn)程上執(zhí)行生成器。

use_multiprocessing: 布爾值。如果 True,則使用基于進(jìn)程的多線(xiàn)程。 如未指定, use_multiprocessing 將默認(rèn)為 False。 請(qǐng)注意,由于此實(shí)現(xiàn)依賴(lài)于多進(jìn)程,所以不應(yīng)將不可傳遞的參數(shù)傳遞給生成器,因?yàn)樗鼈儾荒鼙惠p易地傳遞給子進(jìn)程。

shuffle: 是否在每輪迭代之前打亂 batch 的順序。 只能與 Sequence (keras.utils.Sequence) 實(shí)例同用。

initial_epoch: 開(kāi)始訓(xùn)練的輪次(有助于恢復(fù)之前的訓(xùn)練)。

返回

一個(gè) History 對(duì)象。其 History.history 屬性是連續(xù) epoch 訓(xùn)練損失和評(píng)估值,以及驗(yàn)證集損失和評(píng)估值的記錄(如果適用)。

異常

ValueError: 如果生成器生成的數(shù)據(jù)格式不正確。

?
1
2
3
4
5
6
7
8
9
10
11
def generate_arrays_from_file(path):
 while True:
 with open(path) as f:
  for line in f:
  # 從文件中的每一行生成輸入數(shù)據(jù)和標(biāo)簽的 numpy 數(shù)組,
  x1, x2, y = process_line(line)
  yield ({'input_1': x1, 'input_2': x2}, {'output': y})
 f.close()
 
model.fit_generator(generate_arrays_from_file('/my_file.txt'),
   steps_per_epoch=10000, epochs=10)

總結(jié):

在使用fit函數(shù)的時(shí)候,需要有batch_size,但是在使用fit_generator時(shí)需要有steps_per_epoch

以上這篇在keras中model.fit_generator()和model.fit()的區(qū)別說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/Hodors/article/details/97500808

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 特黄特色大片免费视频观看 | 国产啊女在线观看 | 久久777 | 色狠狠综合天天综合综合 | 亚洲激情av | 91在线视频播放 | 亚洲精品免费在线观看 | 久久手机免费视频 | 欧美一区二区免费 | 日韩中文字幕视频在线观看 | 日韩激情在线 | 国产精品一区二区三区四区 | 亚洲精品乱码久久久久久按摩观 | 99精品久久久久久久免费 | 日日色视频| 欧美精品一区二区三区四区五区 | 亚洲国产精品99久久久久久久久 | 色综合色综合网色综合 | 99视频精品在线 | 精品视频在线观看 | 欧美中文字幕一区二区三区亚洲 | 成人国产精品一区二区免费麻豆 | 中文日韩av | 亚洲一区国产视频 | 一级黄色大片在线观看 | 欧美一区二区三区在线观看视频 | 日韩欧美一二三区 | 国产精品国色综合久久 | 亚洲精品免费在线 | 天堂一区二区三区在线 | 久久久国产精品免费 | 亚洲免费人成在线视频观看 | 综合久久99 | 日本不卡视频 | 免费三级黄色片 | 自拍视频在线 | 久久精品一级 | 欧美一级电影在线 | 亚洲国产二区 | 欧美在线视频一区二区 | 久久综合伊人77777蜜臀 |