基本指标类
tflearn.metrics.Metric (name=None)
指标类旨在供 TFLearn 模型类使用。它可以先使用所需的参数进行初始化,然后模型类将使用给定的网络输出和目标构建它。
属性
- tensor:
Tensor
。指标张量。
方法
build (predictions, targets, inputs)
构建指标方法,所有指标都具有共同的参数。
参数
- prediction:
Tensor
。执行预测的网络。 - targets:
Tensor
。目标(标签)。 - inputs:
Tensor
。输入数据。
get_tensor (self)
获取指标张量。
返回
指标 Tensor
。
准确率
tflearn.metrics.Accuracy (name=None)
计算模型准确率。目标预测假定为 logits。
如果预测张量是一维的(即形状为 [?] 或 [?, 1]),则假定标签是二进制的(转换为 float32),并且根据相等的二进制结果的平均数量计算准确率,对 logits > 0 的预测进行阈值处理。
否则,将根据分类结果计算准确率,并假定输入(模型预测和标签)都是独热编码的。使用 tf.argmax 获得分类预测,以便进行相等比较。
示例
# To be used with TFLearn estimators
acc = Accuracy()
regression = regression(net, metric=acc)
参数
- name: 要显示的名称。
Top-k
tflearn.metrics.Top_k (k=1, name=None)
计算 Top-k 平均准确率(目标是否在前“K”个预测中)。
示例
# To be used with TFLearn estimators
top5 = Top_k(k=5)
regression = regression(net, metric=top5)
参数
- k:
int
。要查看的前 k 个元素的数量,用于计算精度。 - name: 要显示的名称。
标准误差
tflearn.metrics.R2 (name=None)
计算决定系数。用于评估线性回归。
示例
# To be used with TFLearn estimators
r2 = R2()
regression = regression(net, metric=r2)
参数
- name: 要显示的名称。
加权标准误差
tflearn.metrics.WeightedR2 (name=None)
计算决定系数。用于评估线性回归。
示例
# To be used with TFLearn estimators
weighted_r2 = WeightedR2()
regression = regression(net, metric=weighted_r2)
参数
- name: 要显示的名称。
accuracy_op
tflearn.metrics.accuracy_op (predictions, targets)
一个计算平均准确率的操作,假设预测和目标都是独热编码的。
示例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
acc_op = accuracy_op(y_pred, y_true)
# Calculate accuracy by feeding data X and labels Y
accuracy = sess.run(acc_op, feed_dict={input_data: X, y_true: Y})
参数
- predictions:
Tensor
。 - targets:
Tensor
。
返回
Float
。平均准确率。
binary_accuracy_op
tflearn.metrics.binary_accuracy_op (predictions, targets)
一个计算平均准确率的操作,假设预测是 logits,目标是二进制编码的(并表示为 int32)。
示例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
acc_op = binary_accuracy_op(y_pred, y_true)
# Calculate accuracy by feeding data X and labels Y
binary_accuracy = sess.run(acc_op, feed_dict={input_data: X, y_true: Y})
参数
- predictions:
float
类型的Tensor
。 - targets:
float
类型的Tensor
。
返回
Float
。平均准确率。
top_k_op
tflearn.metrics.top_k_op (predictions, targets, k=1)
一个计算 top-k 平均准确率的操作。
示例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
top3_op = top_k_op(y_pred, y_true, 3)
# Calculate Top-3 accuracy by feeding data X and labels Y
top3_accuracy = sess.run(top3_op, feed_dict={input_data: X, y_true: Y})
参数
- predictions:
Tensor
。 - targets:
Tensor
。 - k:
int
。要查看的前 k 个元素的数量,用于计算精度。
返回
Float
。top-k 平均准确率。
r2_op
tflearn.metrics.r2_op (predictions, targets)
一个计算标准误差的操作。
示例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
stderr_op = r2_op(y_pred, y_true)
# Calculate standard error by feeding data X and labels Y
std_error = sess.run(stderr_op, feed_dict={input_data: X, y_true: Y})
参数
- predictions:
Tensor
。 - targets:
Tensor
。
返回
Float
。标准误差。
weighted_r2_op
tflearn.metrics.weighted_r2_op (predictions, targets, inputs)
一个计算标准误差的操作。
示例
input_data = placeholder(shape=[None, 784])
y_pred = my_network(input_data) # Apply some ops
y_true = placeholder(shape=[None, 10]) # Labels
stderr_op = weighted_r2_op(y_pred, y_true, input_data)
# Calculate standard error by feeding data X and labels Y
std_error = sess.run(stderr_op, feed_dict={input_data: X, y_true: Y})
参数
- predictions:
Tensor
。 - targets:
Tensor
。 - inputs:
Tensor
。
返回
Float
。标准误差。