使用Keras 訓練神經網路模型時,發現此模型僅使用所提供資料集的一小部分進行訓練,而不是整個資料集。具體來說,該模型僅使用 1875 個條目進行訓練,而完整資料集由 60,000 個條目組成。
這個問題的出現是由於模型擬合期間對輸出的誤解。擬合時顯示的數字1875不是訓練樣本數;它代表批次的數量。預設情況下,Keras 使用 32 的批量大小進行訓練。因此,給定資料集的批次總數變為:
60000 / 32 = 1875
因此,模型不是在整個資料集上進行訓練,而是將資料拆分為大小為32 的批次並迭代這些批次
要在訓練期間使用整個資料集,有必要指定容納所有訓練樣本的批量大小。這可以透過在 model.fit 函數中設定 batch_size 參數來實現。例如,要使用整個資料集,可以指定batch_size=60000:
<code class="python">model.fit(train_images, train_labels, epochs=10, batch_size=60000)</code>
透過使用此批次大小,模型將在一批中處理所有60,000 個訓練範例,從而有效地利用整個資料集訓練。
以上是為什麼我的 Keras 模型在訓練期間僅使用資料集的一部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!