[英]Custom Loss Function in Keras - Iterate through TensorFlow
我正在努力在 Keras 中創建自定義損失 function。 這是一個例子。
import keras.backend as K
def test(y_true, y_pred):
loss = K.square(y_pred - y_true)
loss = K.mean(loss, axis = 1)
return loss
現在在這個例子中,我只想從 y_pred 中減去特定值,但由於這是在 tensorflow 中,我該如何迭代拋出它們。
例如,我可以遍歷 y_pred 來選擇值嗎? 如何? 假設對於這個例子,批量大小是 5。
我已經嘗試過諸如 y_pred[0...i] tf.arange 等等...
在編譯 model 時傳遞它。 喜歡
model.compile(optimizer='sgd', loss = test)
Keras 將自動迭代它。 您在 return 語句中也有意圖錯誤。
import keras.backend as K
def test(y_true, y_pred):
loss = K.square(y_pred - y_true)
loss = K.mean(loss, axis = 1)
return loss
def test_accuracy(y_true, y_pred):
return 1 - test(y_true, y_pred)
通過這種方式,您可以將自定義損失 function 傳遞給 model ,您也可以類似地傳遞准確度函數
model.compile(optimizer='sgd', loss = test, metrics=[test_accuracy])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.