日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Keras的回调函数

發布時間:2025/4/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keras的回调函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

訓練模型時,很多事情一開始無法預測。尤其是你不知道需要多少輪次才能得到最佳驗證損失。通常簡單的辦法是:訓練足夠多的輪次,這時模型已經開始過擬合了,根據第一次運行來確定訓練所需要的正確輪次,然后使用這個最佳輪數從頭開始啟動一個新的訓練。當然,這種方法很浪費。更好的辦法是使用回調函數

ModelCheckpoing和EarlyStopping回調函數

如果監控的目標在設定輪數內不再改善,可以用EarlyStopping回調函數來中斷訓練。這個回調函數通常與ModelCheckpoint結合使用,后者可以在訓練過程中持續的不斷保存模型(你也可以選擇只保存目前的最佳模型,即一輪結束后具有最佳性能的模型)

import keras # 通過fit的callbacks參數將回調函數傳入模型中,這個參數接收一個回調函數列表,你可以傳入任意個回調函數 callback_lists = [keras.callbacks.EarlyStopping(monitor = 'acc', # 監控模型的驗證精度patience = 1,), # 如果精度在多于一輪的時間(即兩輪)內不再改善,就中斷訓練# ModelCheckpoint用于在每輪過后保存當前權重keras.callbacks.ModelCheckpoint(filepath = 'my_model.h5', # 目標文件的保存路徑# 這兩個參數的意思是,如果val_loss沒有改善,那么不需要覆蓋模型文件,# 這就可以始終保存在訓練過程中見到的最佳模型monitor = 'val_loss', save_best_only = True,) ]model.compile(optimizer = 'rmsprop', loss = 'binary_crossentropy', metrics = ['acc'])# 由于回調函數要監控驗證損失和驗證精度,所以在調用fit時需要傳入validation_data(驗證數據) model.fit(x, y, epochs = 10,batch_size = 32,callbacks = callbacks_list,validation_data = (x_val, y_val))

ReduceLROnPlateau回調函數

如果驗證損失不再改善,你可以使用這個回調函數來降低學習率。在訓練過程中如果出現了損失平臺(loss plateau),那么增大或減小學習率都是跳出局部最小值的有效策略。這里可以用到ReduceLROnPlateau回調函數。

callback_list = [keras.callbacks.ReduceLROnPlateau(monitor = 'val_loss', # 監控模型的驗證損失factor = 0.1, # 觸發時將學習率除以10patience = 10) # 如果驗證損失在10輪內都沒有改善,那么就觸發這個回調函數 ]# 由于回調函數要監控驗證損失和驗證精度,所以在調用fit時需要傳入validation_data(驗證數據) model.fit(x, y, epochs = 10,batch_size = 32,callbacks = callbacks_list,validation_data = (x_val, y_val))

編寫自己的回調函數

如果你需要在訓練過程中采取特定行動,而這項行動又沒有包含在內置的回調函數中,那么可以編寫自己的回調函數。這種回調函數的實現形式是創建keras.callbacks.Callback類的子類。然后你可以實現下面這些方法,它們分別在訓練過程中的不同時間被調用。

on_epoch_begin # 在每輪開始時被調用 on_epoch_end # 在每輪結束時被調用on_batch_begin # 在處理每個批量之前被調用 on_batch_end # 在處理每個批量之后被調用on_train_begin # 在訓練開始時被調用 on_train_end # 在訓練結束時被調用

這些方法被調用時都有一個logs參數,這個參數是一個字典,里面包好前一個批量、前一個輪次或前一次訓練的信息(訓練的指標和驗證指標等)。此外,回調函數還可以訪問下列屬性:

  • self.model:調用回調函數的模型實例
  • self.validation_data:傳入fit作為驗證數據的值

下面是一個回調函數的簡單示例,它可以在每輪結束后將模型每層激活保存到硬盤(格式為Numpy數組),這個激活是對驗證集的第一個樣本計算得到的。

import keras import numpy as npclass ActivationLogger(keras.callbacks.Callback):def set_model(self, model):self.model = model # 在訓練之前由父模型調用,告訴回調函數是哪個模型在調用它layer_outputs = [layer.output for layer in model.layers]self.activations_model = keras.models.Model(model.input,layer_outputs) # 模型實例,返回每層的激活def on_epoch_end(self, epoch, logs = None):if self.validation_data is None:raise RuntimeError('Requires validation_data')validation_sample = self.validation_data[0][0:1] # 獲取驗證數據的第一個輸入樣本activation = self.activations_model.predict(validation_sample)f = open('activation_at_epoch_' + str(epoch) + '.npz', 'w') # 將數據保存到硬盤np.savez(f, activations)f.close() 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Keras的回调函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕乱码视频 | 综合黄色 | 91网站免费入口 | 日本高清黄色电影 | 熟女肥臀白浆大屁股一区二区 | 中年夫妇啪啪高潮 | 激情亚洲 | 亚洲夜夜爽 | 亚洲视频精品在线观看 | 亚洲美女在线观看 | 久久99国产精品久久99 | 黄网在线观看免费 | 看片免费黄在线观看入口 | 成人www视频 | 天天干天天操天天爽 | 麻豆自拍视频 | 免费在线观看成年人视频 | 国产精品77 | 夜夜精品一区二区无码 | 二级黄色大片 | 日韩成人激情视频 | 一区二区免费在线视频 | 国产一区二区亚洲 | 香蕉影院在线 | 黄av在线播放 | 穿越异世荒淫h啪肉np文 | 99热热99| 成人毛片在线观看 | 天天干干 | 国产精品无 | 8x8ⅹ国产精品一区二区 | 国产第一页第二页 | 天天综合久久 | 一级高清毛片 | 国精产品一区一区三区mba下载 | 好吊色视频一区二区 | 日本wwwxxxx| 欧美久久视频 | 亚洲制服丝袜在线播放 | 久久久久久网 | 欧美性做爰免费观看 | 亚洲男人的天堂在线观看 | 夜夜躁很很躁日日躁麻豆 | 日本久久影视 | 欧美一区二区三区在线观看视频 | 波多野结衣丝袜 | 国产二区精品视频 | 裸体av淫导航 | 黑丝美女啪啪 | 日韩福利在线视频 | 成人1区2区| 人人妻人人澡人人爽精品 | 久草毛片| 欧美大黑b | 黄色网址在线播放 | 成人精品免费网站 | 一二三区不卡 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国产中文欧美日韩在线 | 日本乱码一区二区 | 精品国产视频一区二区三区 | 香港一级纯黄大片 | 蜜臀av一区二区三区激情综合 | 亚洲精品国产精品乱码视色 | 成人国产一区 | 国产成人一区二区三区免费看 | 一级片中文 | 亚洲av久久久噜噜噜熟女软件 | 亚洲欧洲精品一区二区 | 日本一区二区三区视频在线观看 | 色综合久久综合 | 成人乱码一区二区三区av | 性xxxxxxxxx18欧美 | 国产一区二区三区电影在线观看 | 91蝌蚪91九色 | 国产欧美视频一区二区 | 欧美9999 | 黄色av日韩 | 欧美成人三级视频 | 亚日韩欧美 | 国产成人无码精品 | 欧美激情久久久久久 | 日本视频精品 | 91视频在线 | 精品国产一区一区二区三亚瑟 | 日韩一级视频 | 日本激情电影 | 毛片999| 五月激情网站 | 51成人网| 亚洲精品色图 | 久久激情婷婷 | 亚洲av片不卡无码久久 | a视频在线观看免费 | 男人懂的网站 | 无码一区二区三区在线观看 | www毛片| 日韩怡春院 | 日韩伊人 |