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

2018-10-19 15:25 更新

tf.metrics.recall_at_top_k函數(shù)

tf.metrics.recall_at_top_k(
    labels,
    predictions_idx,
    k=None,
    class_id=None,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

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

計算與稀疏labels有關的top-k的predictions的recall@k.

其與recall_at_k的不同之處在于,predictions必須采用top k索引的形式,而recall_at_k期望是logits.

參數(shù):

  • labels:具有形狀[D1,... DN,num_labels]或[D1,... DN]的int64 Tensor或SparseTensor,其中后者暗示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的最后一個維度.超出此范圍的值始終計入false_negative_at_<k>.
  • predictions_idx:具有形狀[D1,... DN,k]的整數(shù)Tensor,其中N> = 1,通常,N = 1并且predictions具有形狀[batch size, k].最終維度包含top k預測類別索引.[D1,... DN]必須匹配labels.
  • k:整數(shù),k代表@k metric,僅用于默認操作名稱.
  • class_id:我們需要二進制度量的整數(shù)類ID.這應該在[0,num_classes]范圍內(nèi),其中num_classes是predictions的最后一個維度.如果class_id超出此范圍,則該方法返回NAN.
  • weights:Tensor的秩為0或n-1,其中n是labels的秩.如果是后者,則必須是可廣播的labels(即,所有維度必須為1或與相應的labels維度相同).
  • metrics_collections:應添加值的集合的可選列表.
  • updates_collections:應添加更新的集合的可選列表.
  • name:新更新操作的名稱,以及其他從屬操作的命名空間.

返回:

  • recall:標量float64 Tensor,其值為true_positives除以true_positives和false_negatives的和.
  • update_op:適當增加true_positives和false_negatives變量的操作,其值匹配recall.

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

  • ValueError:如果weights不是None和它的形狀不匹配predictions,或者如果metrics_collections或者updates_collections中的任意一個不是一個列表或元組.
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號