Keras之Model 類模型方法compile

Model 類模型方法

compile

compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)

用於配置訓練模型。

參數

 

異常

 

  • optimizer: 字符串(優化器名)或者優化器實例。 詳見 optimizers
  • loss: 字符串(目標函數名)或目標函數。 詳見 losses。 如果模型具有多個輸出,則可以通過傳遞損失函數的字典或列表,在每個輸出上使用不同的損失。 模型將最小化的損失值將是所有單個損失的總和。
  • metrics: 在訓練和測試期間的模型評估標準。 通常你會使用 metrics = ['accuracy']。 要爲多輸出模型的不同輸出指定不同的評估標準, 還可以傳遞一個字典,如 metrics = {'output_a':'accuracy'}
  • loss_weights: 可選的指定標量係數(Python 浮點數)的列表或字典, 用以衡量損失函數對不同的模型輸出的貢獻。 模型將最小化的誤差值是由 loss_weights 係數加權的加權總和誤差。 如果是列表,那麼它應該是與模型輸出相對應的 1:1 映射。 如果是張量,那麼應該把輸出的名稱(字符串)映到標量係數。
  • sample_weight_mode: 如果你需要執行按時間步採樣權重(2D 權重),請將其設置爲 temporal。 默認爲 None,爲採樣權重(1D)。 如果模型有多個輸出,則可以通過傳遞 mode 的字典或列表,以在每個輸出上使用不同的 sample_weight_mode
  • weighted_metrics: 在訓練和測試期間,由 sample_weight 或 class_weight 評估和加權的度量標準列表
  • target_tensors: 默認情況下,Keras 將爲模型的目標創建一個佔位符,在訓練過程中將使用目標數據。 相反,如果你想使用自己的目標張量(反過來說,Keras 在訓練期間不會載入這些目標張量的外部 Numpy 數據), 您可以通過 target_tensors 參數指定它們。 它可以是單個張量(單輸出模型),張量列表,或一個映射輸出名稱到目標張量的字典。
  • **kwargs: 當使用 Theano/CNTK 後端時,這些參數被傳入 K.function。 當使用 TensorFlow 後端時,這些參數被傳遞到 tf.Session.run
  • ValueError: 如果 optimizer, loss, metricssample_weight_mode 這些參數不合法。

後端函數:categorical_crossentropy

keras.backend.categorical_crossentropy(target, output, from_logits=False)

輸出張量與目標張量之間的分類交叉熵。

參數

  • target: 與 output 尺寸相同的張量。
  • output: 由 softmax 產生的張量 (除非 from_logits 爲 True, 在這種情況下 output 應該是對數形式)。
  • from_logits: 布爾值,output 是 softmax 的結果, 還是對數形式的張量。

返回

輸出張量。

參考:https://keras.io/zh/models/model/#compile 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章