簡體   English   中英

我如何將樣本傳遞給損失 function?

[英]How do I pass a sample to a loss function?

我有一個 keras model,其中每個樣本由 3 個標量和 2 個矩陣組成。 其中一個矩陣是掩碼。 我需要看起來像 (Y_hat * mask - Y)^2 的均方損失 function,其中乘法是逐點的。 每個樣本都有自己的掩碼。 我如何讓這個面具對損失 function 可用?

與其創建一個復雜的損失 function,不如在將其發送到損失 function 之前將掩碼應用於 Y_hat? 您仍然可以出於其他目的讀出原始值。 對於兩個輸入,您確實必須使用功能性 api:

# assuming mask is a binary array

  y_hat = f(scalars, matrix)
  y_hat_masked = y_hat * mask
  model = keras.Model(inputs=inputs, outputs = y_hat_masked, name="example")

如果您還需要未屏蔽的 output,您可以簡單地使用多個輸出,並且只在屏蔽的 output 上運行損失

  model = keras.Model(inputs=..., outputs=[y_hat, y_hat_masked], name="example")
  model.compile(optimizer= ..., loss = [None, loss_fun])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM