一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

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

服務器之家 - 腳本之家 - Python - keras和tensorflow使用fit_generator 批次訓練操作

keras和tensorflow使用fit_generator 批次訓練操作

2020-07-03 11:39zhang0peter Python

這篇文章主要介紹了keras和tensorflow使用fit_generator 批次訓練操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

fit_generatorkeras 提供的用來進行批次訓練的函數,使用方法如下:

?
1
2
3
4
model.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)

參數說明:

generator: 一個生成器,或者一個 Sequence (keras.utils.Sequence) 對象的實例, 以在使用多進程時避免數據的重復。 生成器的輸出應該為以下之一:

一個(inputs, targets) 元組

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

這個元組(生成器的單個輸出)組成了單個的 batch。 因此,這個元組中的所有數組長度必須相同(與這一個 batch 的大小相等)。 不同的 batch 可能大小不同。 例如,一個 epoch 的最后一個 batch 往往比其他 batch 要小, 如果數據集的尺寸不能被 batch size 整除。 生成器將無限地在數據集上循環。當運行到第steps_per_epoch 時,記一個 epoch 結束。

steps_per_epoch: 在聲明一個 epoch 完成并開始下一個 epoch 之前從 generator產生的總步數(批次樣本)。 它通常應該等于你的數據集的樣本數量除以批量大小。 對于Sequence,它是可選的:如果未指定,將使用len(generator)作為步數。

epochs: 整數。訓練模型的迭代總輪數。一個 epoch 是對所提供的整個數據的一輪迭代,如 steps_per_epoch 所定義。注意,與 initial_epoch 一起使用,epoch 應被理解為「最后一輪」。模型沒有經歷由 epochs 給出的多次迭代的訓練,而僅僅是直到達到索引 epoch 的輪次。

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

callbacks: keras.callbacks.Callback 實例的列表。在訓練時調用的一系列回調函數。

validation_data: 它可以是以下之一:

驗證數據的生成器或Sequence實例

一個(inputs, targets) 元組

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

在每個 epoch 結束時評估損失和任何模型指標。該模型不會對此數據進行訓練。

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

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

max_queue_size: 整數。生成器隊列的最大尺寸。 如未指定,max_queue_size 將默認為 10。

workers: 整數。使用的最大進程數量,如果使用基于進程的多線程。 如未指定,workers 將默認為 1。如果為 0,將在主線程上執行生成器。

use_multiprocessing: 布爾值。如果 True,則使用基于進程的多線程。 如未指定, use_multiprocessing 將默認為 False。 請注意,由于此實現依賴于多進程,所以不應將不可傳遞的參數傳遞給生成器,因為它們不能被輕易地傳遞給子進程。

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

initial_epoch: 開始訓練的輪次(有助于恢復之前的訓練)。

補充知識:Keras中fit_generator 的多個分支輸入時,需注意generator的格式 以及 輸入序列的順序

需要注意迭代器 yeild返回不能是[x1,x2],y 這樣,而是要完整的字典格式的:

yield ({'input_1': x1, 'input_2': x2}, {'output': y})

這也不算坑 追進去 fit_generator也能看到示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def generate_batch(x_train,y_train,batch_size,x_train2,randomFlag=True):
 ylen = len(y_train)
 loopcount = ylen // batch_size
 i=-1
 while True:
  if randomFlag:
   i = random.randint(0,loopcount-1)
  else:
   i=i+1
   i=i%loopcount
 
  yield ({'lstmInput': x_train[i*batch_size:(i+1)*batch_size],
    'bgInput': x_train2[i*batch_size:(i+1)*batch_size]},
   {'prediction': y_train[i*batch_size:(i+1)*batch_size]})

ps: 因為要是tuple yield后的括號不能省

需注意的坑1是,validation data中如果用【】組成數組進行輸入,是要按順序的,按編譯model前的設置model = Model(inputs=[simInput,lstmInput,bgInput], outputs=predictions),中數組的順序來編譯

需注意的坑2是,多輸入input時,以后都用 inputs1=Input(batch_shape=(batchSize,TPeriod,dimIn,),name='input1LSTM')指定batchSize,不然跟stateful lstm結合時,會提示不匹配。

?
1
2
3
4
5
history=model.fit_generator(generate_batch(trainX,trainY,batchSize,trainX2),
   steps_per_epoch=len(trainX)//batchSize,
   validation_data=([testX,testX2],testY),
   epochs=epochs,
   callbacks=[tensorboard,checkpoint],initial_epoch=0,verbose=1) # Fit the LSTM network/擬合LSTM網絡

以上這篇keras和tensorflow使用fit_generator 批次訓練操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/zhangpeterx/article/details/90900118

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内精品91东航翘臀女神在线 | 91青青国产在线观看免费 | 亚洲精品久久久久AV无码 | 91丝袜足控免费网站xx | 护士被多人调教到失禁h | 国产精品成人网红女主播 | 京东热dj6666 | 好大好深好舒服 | 好男人资源免费播放在线观看 | 5g影院天天5g天天爽大陆 | 免费老外的毛片清高 | 午夜精品区 | 免费标准高清看机机桶机机 | 大东北chinesexxxx露脸 | 插入肥臀 | 欧美三级做爰全过程 | 免费视频 久久久 | 能免费观看的韩剧 | 久久成人国产精品一区二区 | 青青草亚洲 | 美女林柏欣21p人体之仓之梦 | 小寡妇水真多好紧 | 免费视频左左视频 | 男女男在线精品网站免费观看 | 四虎在线视频免费观看视频 | 日本一片免费观看高清完整 | 日本啊v在线观看 | 国产黄频在线观看 | 欧美人做人爱a全程免费 | 国产精品边做边接电话在线观看 | 免费港剧在线观看港剧 | 精品国产国产综合精品 | 国色天香社区视频免费观看3 | 日本免费久久久久久久网站 | 亚洲品质自拍视频网站 | 国产趴着打光屁股sp抽打 | 2021国产麻豆剧传媒剧情最新 | 国产男人天堂 | а天堂中文最新版在线官网视频 | 午夜国产在线观看 | 无码AV毛片色欲欧洲美洲 |