本文整理汇总了Python中tensorflow.python.ops.metrics_impl.metric_variable方法的典型用法代码示例。如果您正苦于以下问题:Python metrics_impl.metric_variable方法的具体用法?Python metrics_impl.metric_variable怎么用?Python metrics_impl.metric_variable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensorflow.python.ops.metrics_impl
的用法示例。
在下文中一共展示了metrics_impl.metric_variable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _update_confusion_matrix
# 需要导入模块: from tensorflow.python.ops import metrics_impl [as 别名]
# 或者: from tensorflow.python.ops.metrics_impl import metric_variable [as 别名]
def _update_confusion_matrix(pred_begin, pred_end, gold_begin, gold_end):
"""Updates internal variables of the confusion matrix."""
with ops.name_scope("UpdateConfusionMatrix"):
total_true_pos = metrics_impl.metric_variable([],
dtypes.int32,
name="total_true_pos")
total_false_pos = metrics_impl.metric_variable([],
dtypes.int32,
name="total_false_pos")
total_false_neg = metrics_impl.metric_variable([],
dtypes.int32,
name="total_false_neg")
num_gold = ragged_array_ops.size(gold_begin)
num_pred = ragged_array_ops.size(pred_begin)
tp = calculate_true_positive(pred_begin, pred_end, gold_begin, gold_end)
fp = num_pred - tp
fn = num_gold - tp
tp_op = state_ops.assign_add(total_true_pos, tp)
fp_op = state_ops.assign_add(total_false_pos, fp)
fn_op = state_ops.assign_add(total_false_neg, fn)
return (total_true_pos, total_false_pos,
total_false_neg), control_flow_ops.group(tp_op, fp_op, fn_op)
示例2: _streaming_confusion_matrix
# 需要导入模块: from tensorflow.python.ops import metrics_impl [as 别名]
# 或者: from tensorflow.python.ops.metrics_impl import metric_variable [as 别名]
def _streaming_confusion_matrix(labels, predictions, num_classes, weights=None):
"""Calculate a streaming confusion matrix.
Calculates a confusion matrix. For estimation over a stream of data,
the function creates an `update_op` operation.
Args:
labels: A `Tensor` of ground truth labels with shape [batch size] and of
type `int32` or `int64`. The tensor will be flattened if its rank > 1.
predictions: A `Tensor` of prediction results for semantic labels, whose
shape is [batch size] and type `int32` or `int64`. The tensor will be
flattened if its rank > 1.
num_classes: The possible number of labels the prediction task can
have. This value must be provided, since a confusion matrix of
dimension = [num_classes, num_classes] will be allocated.
weights: Optional `Tensor` whose rank is either 0, or the same rank as
`labels`, and must be broadcastable to `labels` (i.e., all dimensions must
be either `1`, or the same as the corresponding `labels` dimension).
Returns:
total_cm: A `Tensor` representing the confusion matrix.
update_op: An operation that increments the confusion matrix.
"""
# Local variable to accumulate the predictions in the confusion matrix.
total_cm = metric_variable(
[num_classes, num_classes], dtypes.float32, name='total_confusion_matrix')
# Cast the type to int64 required by confusion_matrix_ops.
predictions = math_ops.cast(predictions, dtypes.int32)
labels = math_ops.cast(labels, dtypes.int32)
num_classes = math_ops.cast(num_classes, dtypes.int32)
# Flatten the input if its rank > 1.
if predictions.get_shape().ndims > 1:
predictions = array_ops.reshape(predictions, [-1])
if labels.get_shape().ndims > 1:
labels = array_ops.reshape(labels, [-1])
if (weights is not None) and (weights.get_shape().ndims > 1):
weights = array_ops.reshape(weights, [-1])
# Accumulate the prediction to current confusion matrix.
current_cm = confusion_matrix.confusion_matrix(
labels, predictions, num_classes, weights=weights, dtype=dtypes.float32)
update_op = state_ops.assign_add(total_cm, current_cm)
return total_cm, update_op