首頁 >後端開發 >Python教學 >為什麼我的 Keras 模型僅在資料集的一部分上進行訓練?

為什麼我的 Keras 模型僅在資料集的一部分上進行訓練?

Patricia Arquette
Patricia Arquette原創
2024-10-28 04:48:02606瀏覽

 Why does my Keras model only train on a portion of my dataset?

Keras 訓練資料差異

在按照官方TensorFlow 指南使用Keras 建立神經網路時,您注意到該模型僅使用儘管有60,000個條目,但訓練期間可用資料集的一部分。

了解批量大小

模型擬合期間顯示的數字 1875 並不表示訓練樣本,而是表示批次數量。 model.fit 方法有一個可選參數,batch_size,它決定訓練期間同時處理的資料點的數量。

如果不指定batch_size,則預設值為 32。在這種情況下,總資料集為60,000 張影像,批次數變為:

60000 / 32 = 1875

因此,雖然有60,000 個資料點,但模型實際上訓練了1875 個批次,每個批次包含32 個數據點。這是減少記憶體佔用並提高訓練速度的常見做法。

調整批次大小

要在訓練期間使用整個資料集而不進行批次大小

要在訓練期間使用整個資料集而不進行批次處理,您可以指定model.fit 方法中的 batch_size 為 60000。但是,這可能會減慢訓練速度並需要更多記憶體。 或者,您可以調整batch_size以在訓練效率和記憶體利用率之間找到折衷方案。例如,您可以將其設定為 1024 或 2048,這仍然會顯著減少批次數量,而不會犧牲太多效能。

以上是為什麼我的 Keras 模型僅在資料集的一部分上進行訓練?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn