TensorFlow函數(shù):tf.metrics.average_precision_at_k

2018-09-17 13:53 更新

tf.metrics.average_precision_at_k函數(shù)

tf.metrics.average_precision_at_k(
    labels,
    predictions,
    k,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

定義在:tensorflow/python/ops/metrics_impl.py.

計算與稀疏labels相關的predictions的平均精度@k.

average_precision_at_k創(chuàng)建兩個局部變量,average_precision_at_<k>/total和average_precision_at_<k>/max,被用來計算頻率.這個頻率被最終返回為average_precision_at_<k>:一個冪等操作,簡單地將average_precision_at_<k>/total除以average_precision_at_<k>/max.

為了估計數(shù)據(jù)流上的度量,該函數(shù)創(chuàng)建一個update_op操作來更新這些變量并返回precision_at_<k>.在內(nèi)部,top_k操作計算Tensor,指示最高k predictions.設置應用于top_k和labels的操作來計算按weights加權的true positives和false positives的weights.然后update_op使用這些值遞增true_positive_at_<k>和false_positive_at_<k>.

如果weights是None,則權重默認為1,使用權重0來屏蔽值.

參數(shù):

  • labels:int64 Tensor或SparseTensor,具有形狀[D1,... DN,num_labels]或[D1,... DN],其中后者暗示num_labels = 1.N> = 1和num_labels是關聯(lián)預測的目標類的數(shù)量.通常,N = 1和labels具有形狀[batch_size,num_labels].[D1,... DN]必須匹配predictions.值應在[0,num_classes]范圍內(nèi),其中num_classes是predictions的最后一個維度.超出此范圍的值將被忽略.
  • predictions:浮動Tensor具有形狀[D1,... DN,num_classes],其中N> = 1.通常,N = 1并且predictions具有形狀[batch size, num_classes].最終維度包含每個類的logit值.[D1,... DN]必須匹配labels.
  • k:整數(shù),k代表@k metric.這將計算范圍[1,k]的平均精度,如上所述.
  • weights:Tensor,秩為0或n-1,其中n是labels的秩.如果是后者,則必須是可廣播的labels(即,所有維度必須是1或與相應的labels維度相同).
  • metrics_collections:應添加值的可選集合列表.
  • updates_collections:應添加更新的可選集合列表.
  • name:新更新操作的名稱,以及其他從屬操作的命名空間.

返回:

  • mean_average_precision:具有平均精度值的標量float64張量.
  • update:適當增加變量的操作,其值與metric匹配.

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

  • ValueError:如果k無效.
  • RuntimeError:如果啟用了急切執(zhí)行.
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號