TensorFlow函數(shù):tf.losses.mean_pairwise_squared_error

2018-08-27 11:41 更新

tf.losses.mean_pairwise_squared_error函數(shù)

tf.losses.mean_pairwise_squared_error(
    labels,
    predictions,
    weights=1.0,
    scope=None,
    loss_collection=tf.GraphKeys.LOSSES
)

定義在:tensorflow/python/ops/losses/losses_impl.py.

在訓(xùn)練過程中添加一對(duì)誤差平方loss.

與mean_squared_error不同的是,這是predictions和labels的對(duì)應(yīng)元素之間的差異的量度,mean_pairwise_squared_error是predictions和labels對(duì)應(yīng)元素對(duì)之間的差異的量度.

例如,如果labels= [a,b,c]和predictions= [x,y,z],則將三對(duì)差值相加以計(jì)算loss:loss = [ ((a-b) - (x-y)).^2 + ((a-c) - (x-z)).^2 + ((b-c) - (y-z)).^2 ] / 3

請(qǐng)注意,由于輸入具有形狀[batch_size, d0, ... dN],因此在每個(gè)批處理示例中計(jì)算相應(yīng)的對(duì),但不在批次內(nèi)的樣本之間計(jì)算.例如,如果predictions表示一批16個(gè)維度為[batch_size,100,200]的灰度圖像,則會(huì)從每個(gè)圖像中提取一對(duì)配對(duì)集,而不是跨圖像繪制.

weights作為loss的系數(shù).如果提供了標(biāo)量,那么loss只是按給定值縮放.如果weights是一個(gè)大小為[batch_size]的張量,那么批次的每個(gè)樣本的總損失由weights向量中的相應(yīng)元素重新調(diào)整.

參數(shù):

  • labels:真實(shí)的輸出張量,其形狀必須與predictions的形狀相匹配.
  • predictions:預(yù)測(cè)輸出,一個(gè)大小為[batch_size, d0, .. dN]的張量,其中N+1是predictions中維度的總數(shù).
  • weights:loss的系數(shù),是標(biāo)量,形狀為[batch_size]的張量或與predictions的形狀匹配的張量.
  • scope:計(jì)算loss時(shí)執(zhí)行的操作范圍.
  • loss_collection:將添加loss的集合.

返回:

返回加權(quán)損失的標(biāo)量Tensor.

可能引發(fā)的異常:

  • ValueError:如果predictions與labels的形狀不匹配,或weights的形狀無效,或者,如果labels,或是predictions為None,則會(huì)引發(fā)此異常.
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)