最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

keras回調(diào)函數(shù)的使用

 更新時(shí)間:2023年03月13日 10:13:38   作者:辛勤的小碼農(nóng)^_^  
本文主要介紹了keras回調(diào)函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

回調(diào)函數(shù)

  • 回調(diào)函數(shù)是一個(gè)對(duì)象(實(shí)現(xiàn)了特定方法的類實(shí)例),它在調(diào)用fit()時(shí)被傳入模型,并在訓(xùn)練過(guò)程中的不同時(shí)間點(diǎn)被模型調(diào)用
  • 可以訪問(wèn)關(guān)于模型狀態(tài)與模型性能的所有可用數(shù)據(jù)
  • 模型檢查點(diǎn)(model checkpointing):在訓(xùn)練過(guò)程中的不同時(shí)間點(diǎn)保存模型的當(dāng)前狀態(tài)。
  • 提前終止(early stopping):如果驗(yàn)證損失不再改善,則中斷訓(xùn)練(當(dāng)然,同時(shí)保存在訓(xùn)練過(guò)程中的最佳模型)。
  • 在訓(xùn)練過(guò)程中動(dòng)態(tài)調(diào)節(jié)某些參數(shù)值:比如調(diào)節(jié)優(yōu)化器的學(xué)習(xí)率。
  • 在訓(xùn)練過(guò)程中記錄訓(xùn)練指標(biāo)和驗(yàn)證指標(biāo),或者將模型學(xué)到的表示可視化(這些表示在不斷更新):fit()進(jìn)度條實(shí)際上就是一個(gè)回調(diào)函數(shù)。

fit()方法中使用callbacks參數(shù)

# 這里有兩個(gè)callback函數(shù):早停和模型檢查點(diǎn)
callbacks_list=[
    keras.callbacks.EarlyStopping(
        monitor="val_accuracy",#監(jiān)控指標(biāo)
        patience=2 #兩輪內(nèi)不再改善中斷訓(xùn)練
    ),
    keras.callbacks.ModelCheckpoint(
        filepath="checkpoint_path",
        monitor="val_loss",
        save_best_only=True
    )
]
#模型獲取
model=get_minist_model()
model.compile(optimizer="rmsprop",
             loss="sparse_categorical_crossentropy",
             metrics=["accuracy"])

model.fit(train_images,train_labels,
         epochs=10,callbacks=callbacks_list, #該參數(shù)使用回調(diào)函數(shù)
         validation_data=(val_images,val_labels))

test_metrics=model.evaluate(test_images,test_labels)#計(jì)算模型在新數(shù)據(jù)上的損失和指標(biāo)
predictions=model.predict(test_images)#計(jì)算模型在新數(shù)據(jù)上的分類概率

訓(xùn)練結(jié)果

模型的保存和加載

#也可以在訓(xùn)練完成后手動(dòng)保存模型,只需調(diào)用model.save('my_checkpoint_path')。
#重新加載模型
model_new=keras.models.load_model("checkpoint_path.keras")

通過(guò)對(duì)Callback類子類化來(lái)創(chuàng)建自定義回調(diào)函數(shù)

on_epoch_begin(epoch, logs) ←----在每輪開(kāi)始時(shí)被調(diào)用
on_epoch_end(epoch, logs) ←----在每輪結(jié)束時(shí)被調(diào)用
on_batch_begin(batch, logs) ←----在處理每個(gè)批量之前被調(diào)用
on_batch_end(batch, logs) ←----在處理每個(gè)批量之后被調(diào)用
on_train_begin(logs) ←----在訓(xùn)練開(kāi)始時(shí)被調(diào)用
on_train_end(logs ←----在訓(xùn)練結(jié)束時(shí)被調(diào)用

from matplotlib import pyplot as plt
# 實(shí)現(xiàn)記錄每一輪中每個(gè)batch訓(xùn)練后的損失,并為每個(gè)epoch繪制一個(gè)圖
class LossHistory(keras.callbacks.Callback):
    def on_train_begin(self, logs):
        self.per_batch_losses = []

    def on_batch_end(self, batch, logs):
        self.per_batch_losses.append(logs.get("loss"))

    def on_epoch_end(self, epoch, logs):
        plt.clf()
        plt.plot(range(len(self.per_batch_losses)), self.per_batch_losses,
                 label="Training loss for each batch")
        plt.xlabel(f"Batch (epoch {epoch})")
        plt.ylabel("Loss")
        plt.legend()
        plt.savefig(f"plot_at_epoch_{epoch}")
        self.per_batch_losses = [] #清空,方便下一輪的技術(shù)
model = get_mnist_model()
model.compile(optimizer="rmsprop",
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"])
model.fit(train_images, train_labels,
          epochs=10,
          callbacks=[LossHistory()],
          validation_data=(val_images, val_labels))

在這里插入圖片描述

【其他】模型的定義 和 數(shù)據(jù)加載

def get_minist_model():
    inputs=keras.Input(shape=(28*28,))
    features=layers.Dense(512,activation="relu")(inputs)
    features=layers.Dropout(0.5)(features)
    outputs=layers.Dense(10,activation="softmax")(features)
    model=keras.Model(inputs,outputs)
    return model
    
#datset
from tensorflow.keras.datasets import mnist
(train_images,train_labels),(test_images,test_labels)=mnist.load_data()
train_images=train_images.reshape((60000,28*28)).astype("float32")/255
test_images=test_images.reshape((10000,28*28)).astype("float32")/255
train_images,val_images=train_images[10000:],train_images[:10000]
train_labels,val_labels=train_labels[10000:],train_labels[:10000]

到此這篇關(guān)于keras回調(diào)函數(shù)的使用的文章就介紹到這了,更多相關(guān)keras回調(diào)函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Python pip 自動(dòng)更新升級(jí)失敗的問(wèn)題

    解決Python pip 自動(dòng)更新升級(jí)失敗的問(wèn)題

    今天小編就為大家分享一篇解決Python pip 自動(dòng)更新升級(jí)失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python正則-re的用法詳解

    python正則-re的用法詳解

    這篇文章主要介紹了python正則-re的用法詳解,文中給大家提到了正則中的修飾符以及它的功能,需要的朋友可以參考下
    2019-07-07
  • Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    這篇文章主要介紹了Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,是很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • Python實(shí)現(xiàn)的文本簡(jiǎn)單可逆加密算法示例

    Python實(shí)現(xiàn)的文本簡(jiǎn)單可逆加密算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的文本簡(jiǎn)單可逆加密算法,結(jié)合完整實(shí)例形式分析了Python自定義加密與解密算法具體實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-05-05
  • Pytest中skip skipif跳過(guò)用例詳解

    Pytest中skip skipif跳過(guò)用例詳解

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Pytest中skip skipif跳過(guò)用例展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例

    Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例

    本文主要介紹了Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例,它允許你在不復(fù)制其內(nèi)容的情況下操作同一個(gè)數(shù)組的不同切片,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • Python OOP類中的幾種函數(shù)或方法總結(jié)

    Python OOP類中的幾種函數(shù)或方法總結(jié)

    今天小編就為大家分享一篇關(guān)于Python OOP類中的幾種函數(shù)或方法總結(jié),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • python matplotlib imshow熱圖坐標(biāo)替換/映射實(shí)例

    python matplotlib imshow熱圖坐標(biāo)替換/映射實(shí)例

    這篇文章主要介紹了python matplotlib imshow熱圖坐標(biāo)替換/映射實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • pytorch中節(jié)約顯卡內(nèi)存的方法和技巧

    pytorch中節(jié)約顯卡內(nèi)存的方法和技巧

    顯存不足是很多人感到頭疼的問(wèn)題,畢竟能擁有大量顯存的實(shí)驗(yàn)室還是少數(shù),而現(xiàn)在的模型已經(jīng)越跑越大,模型參數(shù)量和數(shù)據(jù)集也越來(lái)越大,所以這篇文章給大家總結(jié)了一些pytorch中節(jié)約顯卡內(nèi)存的方法和技巧,需要的朋友可以參考下
    2023-11-11
  • Python學(xué)習(xí)之configparser模塊的使用詳解

    Python學(xué)習(xí)之configparser模塊的使用詳解

    ConfigParser是用來(lái)讀取配置文件的包。這篇文章主要通過(guò)一些簡(jiǎn)單的實(shí)例帶大家了解一下ConfigParser模塊的具體使用,感興趣的小伙伴跟隨小編一起了解一下
    2023-01-01

最新評(píng)論

黎城县| 尖扎县| 太仓市| 韶关市| 西乌珠穆沁旗| 手机| 晋江市| 商城县| 密云县| 兴和县| 天峻县| 锡林郭勒盟| 巫山县| 前郭尔| 金昌市| 呼和浩特市| 南和县| 普陀区| 修武县| 徐水县| 运城市| 沅陵县| 柳州市| 安徽省| 长沙市| 景德镇市| 嘉荫县| 凭祥市| 林周县| 武鸣县| 西城区| 苏州市| 蛟河市| 调兵山市| 古浪县| 达日县| 蓬莱市| 雅江县| 中西区| 江油市| 河北省|