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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python callback函数_回调函数callbacks

發布時間:2024/10/8 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python callback函数_回调函数callbacks 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TensorFlow的中階API主要包括:

數據管道(tf.data)

特征列(tf.feature_column)

激活函數(tf.nn)

模型層(tf.keras.layers)

損失函數(tf.keras.losses)

評估指標(tf.keras.metrics)

優化器(tf.keras.optimizers)

回調函數(tf.keras.callbacks)

如果把模型比作一個房子,那么中階API就是【模型之墻】。

本篇我們介紹回調函數。

一,回調函數概述

tf.keras的回調函數實際上是一個類,一般是在model.fit時作為參數指定,用于控制在訓練過程開始或者在訓練過程結束,在每個epoch訓練開始或者訓練結束,在每個batch訓練開始或者訓練結束時執行一些操作,例如收集一些日志信息,改變學習率等超參數,提前終止訓練過程等等。

同樣地,針對model.evaluate或者model.predict也可以指定callbacks參數,用于控制在評估或預測開始或者結束時,在每個batch開始或者結束時執行一些操作,但這種用法相對少見。

大部分時候,keras.callbacks子模塊中定義的回調函數類已經足夠使用了,如果有特定的需要,我們也可以通過對keras.callbacks.Callbacks實施子類化構造自定義的回調函數。

所有回調函數都繼承至 keras.callbacks.Callbacks基類,擁有params和model這兩個屬性。

其中params 是一個dict,記錄了 training parameters (eg. verbosity, batch size, number of epochs...).

model即當前關聯的模型的引用。

此外,對于回調類中的一些方法如on_epoch_begin,on_batch_end,還會有一個輸入參數logs, 提供有關當前epoch或者batch的一些信息,并能夠記錄計算結果,如果model.fit指定了多個回調函數類,這些logs變量將在這些回調函數類的同名函數間依順序傳遞。

二,內置回調函數

BaseLogger:收集每個epoch上metrics在各個batch上的平均值,對stateful_metrics參數中的帶中間狀態的指標直接拿最終值無需對各個batch平均,指標均值結果將添加到logs變量中。該回調函數被所有模型默認添加,且是第一個被添加的。

History:將BaseLogger計算的各個epoch的metrics結果記錄到history這個dict變量中,并作為model.fit的返回值。該回調函數被所有模型默認添加,在BaseLogger之后被添加。

EarlyStopping:當被監控指標在設定的若干個epoch后沒有提升,則提前終止訓練。

TensorBoard:為Tensorboard可視化保存日志信息。支持評估指標,計算圖,模型參數等的可視化。

ModelCheckpoint:在每個epoch后保存模型。

ReduceLROnPlateau:如果監控指標在設定的若干個epoch后沒有提升,則以一定的因子減少學習率。

TerminateOnNaN:如果遇到loss為NaN,提前終止訓練。

LearningRateScheduler:學習率控制器。給定學習率lr和epoch的函數關系,根據該函數關系在每個epoch前調整學習率。

CSVLogger:將每個epoch后的logs結果記錄到CSV文件中。

ProgbarLogger:將每個epoch后的logs結果打印到標準輸出流中。

三,自定義回調函數

可以使用callbacks.LambdaCallback編寫較為簡單的回調函數,也可以通過對callbacks.Callback子類化編寫更加復雜的回調函數邏輯。

如果需要深入學習tf.Keras中的回調函數,不要猶豫閱讀內置回調函數的源代碼。

猜你喜歡??:

公眾號后臺回復關鍵字:tensorflow,獲取本書github項目源碼和對應數據集!

總結

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

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