Sequential.fit()
語法syntax
fit(x=None, y=None,
batch_size=None,
epochs=1,
verbose=1,
callbacks=None,
validation_split=0.0, validation_data=None,
shuffle=True,
class_weight=None, sample_weight=None,
initial_epoch=0,
steps_per_epoch=None,
validation_steps=None)
參數說明
- x: 訓練數據的 Numpy 數組。 如果模型中的輸入層被命名,你也可以傳遞一個字典,將輸入層名稱映射到 Numpy 數組。 如果從本地框架張量饋送(例如 TensorFlow 數據張量)數據,x 可以是
None
(默認)。 - y: 目標(標簽)數據的 Numpy 數組。 如果模型中的輸出層被命名,你也可以傳遞一個字典,將輸出層名稱映射到 Numpy 數組。 如果從本地框架張量饋送(例如 TensorFlow 數據張量)數據,y 可以是
None
(默認)。 - batch_size: 整數或
None
。每次提度更新的樣本數。如果未指定,默認為 32. - epochs: 整數。訓練模型迭代輪次。一個輪次是在整個
x
或y
上的一輪迭代。請注意,與initial_epoch
一起,epochs
被理解為 「最終輪次」。模型並不是訓練了epochs
輪,而是到第epochs
輪停止訓練。 - verbose: 0, 1 或 2。日志顯示模式。 0 = 安靜模式, 1 = 進度條, 2 = 每輪一行。
- callbacks: 一系列的
keras.callbacks.Callback
實例。一系列可以在訓練時使用的回調函數。詳見 callbacks。 - validation_split: 在 0 和 1 之間浮動。用作驗證集的訓練數據的比例。模型將分出一部分不會被訓練的驗證數據,並將在每一輪結束時評估這些驗證數據的誤差和任何其他模型指標。驗證數據是混洗之前
x
和y
數據的最后一部分樣本中。 - validation_data: 元組
(x_val,y_val)
或元組(x_val,y_val,val_sample_weights)
,用來評估損失,以及在每輪結束時的任何模型度量指標。模型將不會在這個數據上進行訓練。這個參數會覆蓋validation_split
。 - shuffle: 布爾值(是否在每輪迭代之前混洗數據)或者 字符串 (
batch
)。batch
是處理 HDF5 數據限制的特殊選項,它對一個 batch 內部的數據進行混洗。當steps_per_epoch
非None
時,這個參數無效。 - class_weight: 可選的字典,用來映射類索引(整數)到權重(浮點)值,用於加權損失函數(僅在訓練期間)。這可能有助於告訴模型 「更多關注」來自代表性不足的類的樣本。
- sample_weight: 訓練樣本的可選 Numpy 權重數組,用於對損失函數進行加權(僅在訓練期間)。您可以傳遞與輸入樣本長度相同的平坦(1D)Numpy 數組(權重和樣本之間的 1:1 映射),或者在時序數據的情況下,可以傳遞尺寸為
(samples, sequence_length)
的 2D 數組,以對每個樣本的每個時間步施加不同的權重。在這種情況下,你應該確保在compile()
中指定sample_weight_mode="temporal"
。 - initial_epoch: 開始訓練的輪次(有助於恢復之前的訓練)。
- steps_per_epoch: 在聲明一個輪次完成並開始下一個輪次之前的總步數(樣品批次)。使用 TensorFlow 數據張量等輸入張量進行訓練時,默認值
None
等於數據集中樣本的數量除以 batch 的大小,如果無法確定,則為 1。 - validation_steps: 只有在指定了
steps_per_epoch
時才有用。停止前要驗證的總步數(批次樣本)。
返回
一個 History
對象。其 History.history
屬性是連續 epoch 訓練損失和評估值,以及驗證集損失和評估值的記錄(如果適用)。
異常
- RuntimeError: 如果模型從未編譯。
- ValueError: 在提供的輸入數據與模型期望的不匹配的情況下。